Hi Juliusz,

Tested with Chinese fonts in Red Hat 7.3, here are the problems I met:

* m and p spacings don't work,  get_metrics can finish loading, then xfs 
will crash, hasn't called get_glyphs yet.
* c spacing works but some "dirties" blow each characters, following 
patch fix it:
--- ftfuncs.c.orig    Wed Jun 19 17:50:50 2002
+++ ftfuncs.c    Wed Jun 19 17:52:42 2002
@@ -579,8 +579,8 @@
     bitmap = &face->face->glyph->bitmap;
 
     if(hasMetrics) {
-        wd = tgp->metrics.rightSideBearing;
-        ht = tgp->metrics.ascent;
+        wd = tgp->metrics.rightSideBearing - tgp->metrics.leftSideBearing;
+        ht = tgp->metrics.ascent + tgp->metrics.descent;
     } else {
         wd = bitmap->width;
         ht = bitmap->rows;

* above patch will also allow font size changing, otherwise you can only 
use default font size.

Regards,



James H. Cloos Jr. wrote:

>>>>>>"Mike" == Mike A Harris <[EMAIL PROTECTED]> writes:
>>>>>>
>
>Mike> I'm considering the possiblity of including all or some of this
>Mike> in my XFree86 packaging in rawhide.
>
>I suggest you do so.
>
>Mike> How well do you think it would fit into 4.2.0?
>
>I'm using it right now on a suse 7.3 box with their rpm modified to
>patch in Juliusz' backend.  It works very well.
>
>The only note is that if the current version had not added CID
>support, I'd suggest patching the type1 backend like so:
>
>diff -uNrdb Type1.bak/t1funcs.c Type1/t1funcs.c
>--- Type1.bak/t1funcs.c        Mon Feb 18 15:51:57 2002
>+++ Type1/t1funcs.c    Tue Jun 18 18:44:26 2002
>@@ -1443,10 +1443,6 @@
> #else
> static FontRendererRec renderers[] = {
> #endif
>-  { ".pfa", 4, NULL, Type1OpenScalable,
>-        NULL, Type1GetInfoScalable, 0, CAPABILITIES },
>-  { ".pfb", 4, NULL, Type1OpenScalable,
>-        NULL, Type1GetInfoScalable, 0, CAPABILITIES }
> };
> 
> #ifdef BUILDCID
>@@ -1464,17 +1460,7 @@
> void
> Type1RegisterFontFileFunctions(void)
> {
>-    int i;
>- 
>-#ifdef BUILDCID
>-    Type1InitStdProps();
>-    for (i=0; i < sizeof(Type1RendererInfo) / sizeof(FontRendererRec); i++)
>-            FontFileRegisterRenderer(&Type1RendererInfo[i]);
>-#else
>-    T1InitStdProps();
>-    for (i=0; i < sizeof(renderers) / sizeof(FontRendererRec); i++)
>-            FontFileRegisterRenderer(&renderers[i]);
>-#endif
>+ /* null function */
> }
> 
> int 
>
>
>That will ensure that the old type1 backend only serves the cid
>fonts.  If the ft2 backend does now include cid support, the patch
>would need to exclude the old type1 backend from libfont.{a,so}.
>
>Also, this patch may be a reasonable addition to the ft2 backend:
>
>diff -udNrb xc.old/lib/font/FreeType/ftfuncs.c xc.new/lib/font/FreeType/ftfuncs.c
>--- xc.old/lib/font/FreeType/ftfuncs.c Tue Apr 16 22:25:38 2002
>+++ xc.new/lib/font/FreeType/ftfuncs.c Tue Jun 18 18:49:31 2002
>@@ -1739,6 +1739,10 @@
>      FreeTypeGetInfoScalable, 0, CAPABILITIES},
>     {".PFB", 4, 0, FreeTypeOpenScalable, 0,
>      FreeTypeGetInfoScalable, 0, CAPABILITIES},
>+    {".pfr", 4, 0, FreeTypeOpenScalable, 0,
>+     FreeTypeGetInfoScalable, 0, CAPABILITIES},
>+    {".PFR", 4, 0, FreeTypeOpenScalable, 0,
>+     FreeTypeGetInfoScalable, 0, CAPABILITIES},
> };
> static int num_renderers = sizeof(renderers) / sizeof(renderers[0]);
> 
>given that ft2 now supports pfr0 fonts.
>
>-JimC
>
>_______________________________________________
>Fonts mailing list
>[EMAIL PROTECTED]
>http://XFree86.Org/mailman/listinfo/fonts
>


-- 
Yu Shao
Red Hat Asia-Pacific
+61 7 3872 4835
Legal:   http://apac.redhat.com/disclaimer



_______________________________________________
Fonts mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/fonts

Reply via email to