Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.03.21;
Скачать: CL | DM;

Вниз

Кириллица в OpenGL   Найти похожие ветки 

 
Чайник ©   (2010-01-20 16:14) [0]

Как загрузить кириллические шрифты в OpenGl?

Создаю фонт так:

 FFont.Name:="Arial Cyr";
 FFontHDC := CreateDC("Display",nil,nil,nil);

 SelectObject(FFontHDC, FFont.Handle);
 IF not wglUseFontOutlines (FFontHDC , 0, 255, GLFONT_LIST, 0, 0.1,  WGL_FONT_POLYGONS, nil) Then
       MessageDlg("Не удалось установить фонт", mtError, [mbOk], 0);


Вывод текста:

procedure TFEditorMain.OutTextGL(Text: AnsiString);
var PCharLitera : PAnsiChar;
begin
  PCharLitera := PAnsiChar(Text);
  glListBase(GLFONT_LIST);
  glCallLists(Length (PCharLitera), GL_UNSIGNED_BYTE, PCharLitera);
end;


Латинские символы - все нормально. Вместо русских - крякозялбли из европейской кодировки. Кто подскажет?

P.S.   FFont.Charset := RUSSIAN_CHARSET; - не помогает...


 
@!!ex ©   (2010-01-20 16:25) [1]

У меня шрифт создается вот так:
 FillChar(lf, SizeOf(lf), 0);
 lf.lfHeight               :=   -1 ;
 lf.lfWeight               :=   FW_NORMAL ;
 lf.lfCharSet              :=   RUSSIAN_CHARSET ;
 lf.lfOutPrecision         :=   OUT_DEFAULT_PRECIS ;
 lf.lfClipPrecision        :=   CLIP_DEFAULT_PRECIS ;
 lf.lfQuality              :=   DEFAULT_QUALITY ;
 lf.lfPitchAndFamily       :=   FF_DONTCARE OR DEFAULT_PITCH;
 lstrcpy (lf.lfFaceName, PChar(FName)) ;

 hFontNew := CreateFontIndirect(lf);
 hOldFont := SelectObject(FDC,hFontNew);

и все работает.


 
Чайник ©   (2010-01-20 16:33) [2]

> @!!ex

lf - это кто? TFont?


 
Чайник ©   (2010-01-20 17:12) [3]

Все оказалось гораздо проще - это чудеса D2009  и юникода.
Поставил wglUseFontOutlinesA вместо wglUseFontOutlines и вуаля!

... блин,два дня парился...



Страницы: 1 вся ветка

Текущий архив: 2010.03.21;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.008 c
3-1236243330
ford
2009-03-05 11:55
2010.03.21
проблемма с вычиткой BLOB полей из базы данных


2-1263902707
12345
2010-01-19 15:05
2010.03.21
Рабата с Canvas TImage


4-1228827942
Alex_C
2008-12-09 16:05
2010.03.21
Открытие COM-порта при использовании переходника USB-COM


15-1262522391
И. Павел
2010-01-03 15:39
2010.03.21
PHP - не хватает прав для выполнения fopen


11-1214593250
arthur
2008-06-27 23:00
2010.03.21
onPaint РІРѕРїСЂРѕСЃ (onPaint question)