fonts: Chinese system font

Huw D M Davies h.davies1 at physics.ox.ac.uk
Thu Aug 18 08:07:42 CDT 2005


If you're wondering about the strange order in the Makefile, I've
ordered fonts within a family by the fontsignature codepage bits -
this seems easier to work with given the random naming convention of
the font files.

        Huw Davies <huw at codeweavers.com>
        Add System font for the Chinese codepages cp936 and cp950.
        Of course they don't contain any ideographs (and nor should
        they).
-- 
Huw Davies
huw at codeweavers.com
Index: tools/sfnt2fnt.c
===================================================================
RCS file: /home/wine/wine/tools/sfnt2fnt.c,v
retrieving revision 1.10
diff -u -p -r1.10 sfnt2fnt.c
--- tools/sfnt2fnt.c	18 Aug 2005 10:49:37 -0000	1.10
+++ tools/sfnt2fnt.c	18 Aug 2005 12:59:11 -0000
@@ -134,9 +134,14 @@ static void fill_fontinfo(FT_Face face, 
         fprintf(stderr, "Can't find codepage %d\n", enc);
         exit(1);
     }
+
     if(cptable->info.char_size != 1) {
-        fprintf(stderr, "Can't cope with double byte codepages\n");
-        exit(1);
+        /* for double byte charsets we actually want to use cp1252 */
+        cptable = wine_cp_get_table(1252);
+        if(!cptable) {
+            fprintf(stderr, "Can't find codepage 1252\n");
+            exit(1);
+        }
     }
 
     ppem = face->size->metrics.y_ppem;
@@ -154,8 +159,8 @@ static void fill_fontinfo(FT_Face face, 
     }
     il = ascent - (face->glyph->metrics.height >> 6);
 
-    /* Hack: Courier has no internal leading, so we do likewise */
-    if(!strcmp(face->family_name, "Wine Courier"))
+    /* Hack: Courier has no internal leading, nor do any Chinese fonts */
+    if(!strcmp(face->family_name, "Wine Courier") || enc == 936 || enc == 950)
         il = 0;
 
     first_char = FT_Get_First_Char(face, &gi);
Index: fonts/.cvsignore
===================================================================
RCS file: /home/wine/wine/fonts/.cvsignore,v
retrieving revision 1.11
diff -u -p -r1.11 .cvsignore
--- fonts/.cvsignore	18 Aug 2005 10:52:24 -0000	1.11
+++ fonts/.cvsignore	18 Aug 2005 12:59:11 -0000
@@ -22,7 +22,11 @@ wine_sserifer.fon
 wine_system-1250-96-16.fnt
 wine_system-1251-96-16.fnt
 wine_system-1252-96-16.fnt
+wine_system-936-96-16.fnt
+wine_system-950-96-16.fnt
 wine_system.ttf
 wine_vgasys.fon
 wine_vgasyse.fon
 wine_vgasysr.fon
+wine_svgasys.fon
+wine_cvgasys.fon
Index: fonts/Makefile.in
===================================================================
RCS file: /home/wine/wine/fonts/Makefile.in,v
retrieving revision 1.12
diff -u -p -r1.12 Makefile.in
--- fonts/Makefile.in	18 Aug 2005 10:52:24 -0000	1.12
+++ fonts/Makefile.in	18 Aug 2005 12:59:11 -0000
@@ -14,7 +14,9 @@ BITMAP_FONTS  = \
 	wine_sserifer.fon \
 	wine_vgasys.fon \
 	wine_vgasyse.fon \
-	wine_vgasysr.fon
+	wine_vgasysr.fon \
+	wine_svgasys.fon \
+	wine_cvgasys.fon 
 
 TRUETYPE_FONTS = \
 	wine_marlett.ttf
@@ -78,6 +80,21 @@ wine_system-1250-96-16.fnt: wine_system.
 wine_system-1251-96-16.fnt: wine_system.ttf $(SFNT2FNT)
 	$(LDPATH) $(SFNT2FNT) $< 16 1251 96 128 7
 
+wine_system-936-96-16.fnt: wine_system. $(SFNT2FNT)
+	$(LDPATH) $(SFNT2FNT) $< 16 936 96 128 7
+
+wine_system-950-96-16.fnt: wine_system. $(SFNT2FNT)
+	$(LDPATH) $(SFNT2FNT) $< 16 950 96 128 7
+
+wine_coure.fon: wine_courier-1252-96-13.fnt $(FNT2FON)
+	$(FNT2FON) wine_courier-1252-96-13.fnt $@
+
+wine_couree.fon: wine_courier-1250-96-13.fnt $(FNT2FON)
+	$(FNT2FON) wine_courier-1250-96-13.fnt $@
+
+wine_courer.fon: wine_courier-1251-96-13.fnt $(FNT2FON)
+	$(FNT2FON) wine_courier-1251-96-13.fnt $@
+
 wine_sserife.fon: wine_sans_serif-1252-96-13.fnt wine_sans_serif-1252-96-16.fnt wine_sans_serif-1252-96-20.fnt $(FNT2FON)
 	$(FNT2FON) wine_sans_serif-1252-96-13.fnt wine_sans_serif-1252-96-16.fnt wine_sans_serif-1252-96-20.fnt $@
 
@@ -96,14 +113,11 @@ wine_vgasyse.fon: wine_system-1250-96-16
 wine_vgasysr.fon: wine_system-1251-96-16.fnt $(FNT2FON)
 	$(FNT2FON) wine_system-1251-96-16.fnt $@
 
-wine_coure.fon: wine_courier-1252-96-13.fnt $(FNT2FON)
-	$(FNT2FON) wine_courier-1252-96-13.fnt $@
+wine_svgasys.fon: wine_system-936-96-16.fnt wine_system-1252-96-16.fnt $(FNT2FON)
+	$(FNT2FON) wine_system-936-96-16.fnt wine_system-1252-96-16.fnt $@
 
-wine_couree.fon: wine_courier-1250-96-13.fnt $(FNT2FON)
-	$(FNT2FON) wine_courier-1250-96-13.fnt $@
-
-wine_courer.fon: wine_courier-1251-96-13.fnt $(FNT2FON)
-	$(FNT2FON) wine_courier-1251-96-13.fnt $@
+wine_cvgasys.fon: wine_system-950-96-16.fnt wine_system-1252-96-16.fnt $(FNT2FON)
+	$(FNT2FON) wine_system-950-96-16.fnt wine_system-1252-96-16.fnt $@
 
 install:: $(FONTS)
 	$(MKINSTALLDIRS) $(fontdir)



More information about the wine-patches mailing list