Commit 26dbcc0a authored by Huw Davies's avatar Huw Davies Committed by Alexandre Julliard

fonts: Add the Won sign in place of the backslash for Korean fonts.

parent 12a9ed0a
...@@ -39,13 +39,12 @@ ScriptLang: 2 ...@@ -39,13 +39,12 @@ ScriptLang: 2
LangName: 1033 "" "" "" "" "" "" "" "" "Created with FontForge 1.0 (http://fontforge.sourceforge.net)" "Huw D M Davies" "" "http://www.winehq.org" "" "This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.+AAoA +AAoA-This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.+AAoA +AAoA-You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA+AAoA" "http://www.gnu.org/licenses/lgpl.html" LangName: 1033 "" "" "" "" "" "" "" "" "Created with FontForge 1.0 (http://fontforge.sourceforge.net)" "Huw D M Davies" "" "http://www.winehq.org" "" "This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.+AAoA +AAoA-This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.+AAoA +AAoA-You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA+AAoA" "http://www.gnu.org/licenses/lgpl.html"
Encoding: UnicodeBmp Encoding: UnicodeBmp
UnicodeInterp: none UnicodeInterp: none
NameList: Adobe Glyph List
DisplaySize: 16 DisplaySize: 16
AntiAlias: 0 AntiAlias: 0
FitToEm: 1 FitToEm: 1
WinInfo: 836 19 18 WinInfo: 0 19 18
OnlyBitmaps: 1 OnlyBitmaps: 1
BeginChars: 65536 347 BeginChars: 65536 348
StartChar: space StartChar: space
Encoding: 32 32 0 Encoding: 32 32 0
Width: 4 Width: 4
...@@ -1847,17 +1846,23 @@ EndChar ...@@ -1847,17 +1846,23 @@ EndChar
StartChar: afii10023 StartChar: afii10023
Encoding: 1025 1025 345 Encoding: 1025 1025 345
Width: 9 Width: 9
Flags: HW Flags: W
TeX: 97 0 0 0 TeX: 97 0 0 0
EndChar EndChar
StartChar: afii10071 StartChar: afii10071
Encoding: 1105 1105 346 Encoding: 1105 1105 346
Width: 8 Width: 8
Flags: HW Flags: W
TeX: 97 0 0 0 TeX: 97 0 0 0
EndChar EndChar
StartChar: uni20A9
Encoding: 8361 8361 347
Width: 9
Flags: W
TeX: 117 0 0 0
EndChar
EndChars EndChars
BitmapFont: 16 347 13 3 1 BitmapFont: 16 348 13 3 1
BDFChar: 0 32 4 14 14 0 0 BDFChar: 0 32 4 14 14 0 0
z z
BDFChar: 1 33 4 1 2 0 9 BDFChar: 1 33 4 1 2 0 9
...@@ -2552,5 +2557,7 @@ BDFChar: 345 1025 9 1 7 0 12 ...@@ -2552,5 +2557,7 @@ BDFChar: 345 1025 9 1 7 0 12
bfg(d^qdb`^qdb$rVuou bfg(d^qdb`^qdb$rVuou
BDFChar: 346 1105 8 1 6 0 9 BDFChar: 346 1105 8 1 6 0 9
bfg'3bfojtb]j*f bfg'3bfojtb]j*f
BDFChar: 347 8361 9 0 8 0 9
@fU9ECB/,Ms+"kbCB/haG5rfe
EndBitmapFont EndBitmapFont
EndSplineFont EndSplineFont
...@@ -179,6 +179,15 @@ static int lookup_charset(int enc) ...@@ -179,6 +179,15 @@ static int lookup_charset(int enc)
return OEM_CHARSET; return OEM_CHARSET;
} }
static int get_char(const union cptable *cptable, int enc, int index)
{
/* Korean has the Won sign in place of '\\' */
if(enc == 949 && index == '\\')
return 0x20a9;
return cptable->sbcs.cp2uni[index];
}
static void fill_fontinfo(FT_Face face, int enc, FILE *fp, int dpi, unsigned char def_char, int avg_width) static void fill_fontinfo(FT_Face face, int enc, FILE *fp, int dpi, unsigned char def_char, int avg_width)
{ {
int ascent = 0, il, ppem, descent = 0, width_bytes = 0, space_size, max_width = 0; int ascent = 0, il, ppem, descent = 0, width_bytes = 0, space_size, max_width = 0;
...@@ -282,10 +291,11 @@ static void fill_fontinfo(FT_Face face, int enc, FILE *fp, int dpi, unsigned cha ...@@ -282,10 +291,11 @@ static void fill_fontinfo(FT_Face face, int enc, FILE *fp, int dpi, unsigned cha
os2 = FT_Get_Sfnt_Table(face, ft_sfnt_os2); os2 = FT_Get_Sfnt_Table(face, ft_sfnt_os2);
for(i = first_char; i < 0x100; i++) { for(i = first_char; i < 0x100; i++) {
gi = FT_Get_Char_Index(face, cptable->sbcs.cp2uni[i]); int c = get_char(cptable, enc, i);
gi = FT_Get_Char_Index(face, c);
if(gi == 0) if(gi == 0)
fprintf(stderr, "Missing glyph for char %04x\n", cptable->sbcs.cp2uni[i]); fprintf(stderr, "Missing glyph for char %04x\n", cptable->sbcs.cp2uni[i]);
if(FT_Load_Char(face, cptable->sbcs.cp2uni[i], FT_LOAD_DEFAULT)) { if(FT_Load_Char(face, c, FT_LOAD_DEFAULT)) {
fprintf(stderr, "error loading char %d - bad news!\n", i); fprintf(stderr, "error loading char %d - bad news!\n", i);
continue; continue;
} }
...@@ -365,7 +375,8 @@ static void fill_fontinfo(FT_Face face, int enc, FILE *fp, int dpi, unsigned cha ...@@ -365,7 +375,8 @@ static void fill_fontinfo(FT_Face face, int enc, FILE *fp, int dpi, unsigned cha
fwrite(dfCharTable + fi.dfFirstChar, sizeof(*dfCharTable), ((unsigned char)fi.dfLastChar - (unsigned char)fi.dfFirstChar) + 3, fp); fwrite(dfCharTable + fi.dfFirstChar, sizeof(*dfCharTable), ((unsigned char)fi.dfLastChar - (unsigned char)fi.dfFirstChar) + 3, fp);
for(i = first_char; i < 0x100; i++) { for(i = first_char; i < 0x100; i++) {
if(FT_Load_Char(face, cptable->sbcs.cp2uni[i], FT_LOAD_DEFAULT)) { int c = get_char(cptable, enc, i);
if(FT_Load_Char(face, c, FT_LOAD_DEFAULT)) {
continue; continue;
} }
assert(dfCharTable[i].width == face->glyph->metrics.horiAdvance >> 6); assert(dfCharTable[i].width == face->glyph->metrics.horiAdvance >> 6);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment