Главная страница
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.012 c
2-1263934328
@!!ex
2010-01-19 23:52
2010.03.21
Как подогнать размеры TRichEdit под текст в нем


2-1263977765
Неважно
2010-01-20 11:56
2010.03.21
CriticalSection


15-1262381423
Юрий
2010-01-02 00:30
2010.03.21
С днем рождения ! 2 января 2010 суббота


15-1262390117
dedi
2010-01-02 02:55
2010.03.21
Оптимальный алгоритм


3-1236248430
WeTeR
2009-03-05 13:20
2010.03.21
Процедура для определения типа столбца таблицы