diff options
author | Ton Roosendaal <ton@blender.org> | 2004-11-08 18:46:57 +0300 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2004-11-08 18:46:57 +0300 |
commit | 061cde65a63bc8bb74ba1d003e7c75ea556eba55 (patch) | |
tree | e9700377b9c3e1d03f02f8eb6d2e9f33f83599be /source/blender/ftfont/intern/FTF_TTFont.cpp | |
parent | 5bba5035b0eefdf777574b8c7af323d8d6ff7a2e (diff) |
To end the issues with AA (International) Fonts; the .bfont.tff now is
compiled in (datatoc) and doesn't need installation anymore.
Also reviewed weird path conventions for searching AA fonts;
- U.fontdir is only used as standard search path for fileselecting
- U.fontname stores only full path to AA font if used one
- If a font cannot be found, it always falls back to the compiled in one
- If .B.blend is saved with default font, U.fontname is not set
Also added a button in usermenu "restore default".
When this works as expected, I'll commit changes for installation too.
Diffstat (limited to 'source/blender/ftfont/intern/FTF_TTFont.cpp')
-rw-r--r-- | source/blender/ftfont/intern/FTF_TTFont.cpp | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/source/blender/ftfont/intern/FTF_TTFont.cpp b/source/blender/ftfont/intern/FTF_TTFont.cpp index 5562b9403a4..c0652ef50fe 100644 --- a/source/blender/ftfont/intern/FTF_TTFont.cpp +++ b/source/blender/ftfont/intern/FTF_TTFont.cpp @@ -159,7 +159,7 @@ void FTF_TTFont::SetFontSize(char size) } -int FTF_TTFont::SetFont(char* str, int size) +int FTF_TTFont::SetFont(const unsigned char* str, int datasize, int fontsize) { int err = 0; bool success = 0; @@ -171,7 +171,9 @@ int FTF_TTFont::SetFont(char* str, int size) fontm= NULL; fontl= NULL; - font = new FTGLPixmapFont(str); + if(datasize) font = new FTGLPixmapFont(str, datasize); + else font = new FTGLPixmapFont(str); + err = font->Error(); if(err) { @@ -180,12 +182,15 @@ int FTF_TTFont::SetFont(char* str, int size) } else { fontm= font; - fonts = new FTGLPixmapFont(str); - fontl = new FTGLPixmapFont(str); + + if(datasize) fonts = new FTGLPixmapFont(str, datasize); + else fonts = new FTGLPixmapFont(str); + if(datasize) fontl = new FTGLPixmapFont(str, datasize); + else fontl = new FTGLPixmapFont(str); - success = fonts->FaceSize(size-2<8?8:size-2); - success = fontm->FaceSize(size-1<8?8:size-1); - success = fontl->FaceSize(size); + success = fonts->FaceSize(fontsize-2<8?8:fontsize-2); + success = fontm->FaceSize(fontsize-1<8?8:fontsize-1); + success = fontl->FaceSize(fontsize); if(!success) return 0; success = fonts->CharMap(ft_encoding_unicode); @@ -197,7 +202,6 @@ int FTF_TTFont::SetFont(char* str, int size) } } - void FTF_TTFont::SetLanguage(char* str) { |