[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: The reason of xpdf can't display Chinese Simplified in Debain Sid



  Seems the list cannot handle utf8 email? will convert
  to big5 charset here.

  Xpdf-1.0 need patch to display CJK font correctly. I
  attach the patch. Sorry, I didn't check Simplified
  Chinese's CMap files. Those bugs will be correct
  in Xpdf-1.1, thanks Derek.

  And you need edit your xpdfrc file. You can find a
  add-to-xpdfrc example file in your Chinese cmap package.


Rgds,
Edward G.J. Lee
--- ETenms-B5-H.orig	Sat Feb  2 07:15:58 2002
+++ ETenms-B5-H	Mon Apr 15 09:08:35 2002
@@ -55,7 +55,7 @@
 endnotdefrange
 
 100 begincidrange
-<20> <7e> 13648
+<20> <7e> 1
 <a140> <a158> 99
 <a159> <a15c> 13743
 <a15d> <a17e> 128
--- FTFont.cc.orig	Sat Feb  2 07:15:45 2002
+++ FTFont.cc	Sat Apr 13 09:21:53 2002
@@ -260,6 +260,14 @@
   // deal with rounding errors
   glyphW = xMax - xMin + 3;
   glyphH = yMax - yMin + 3;
+  //----- start of new code
+  // another kludge: some CJK TT fonts have bogus bboxes, so add more
+  // padding
+  if (face->num_glyphs > 1000) {
+    glyphW += glyphW >> 1;
+    glyphH += glyphH >> 1;
+  }
+  //----- end of new code
   if (engine->aa) {
     glyphSize = glyphW * glyphH;
   } else {
@@ -506,18 +514,23 @@
 #endif
     break;
   }
-#if 1
+//#if 1
+#ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
+  if (FT_Load_Glyph(fontFile->face, idx, FT_LOAD_DEFAULT)) {
+    return gFalse;
+  }
+#else
   //~ the hinting in FT 2.0.6 appears to have some problems, so turn
   //~ it off if anti-aliasing is enabled; if anti-aliasing is disabled,
   //~ this seems to be a tossup - some fonts look better with hinting,
   //~ some without, so leave hinting on
   if (FT_Load_Glyph(fontFile->face, idx,
 		    fontFile->engine->aa ? FT_LOAD_NO_HINTING :
-		                           FT_LOAD_DEFAULT) ||
-#else
-  if (FT_Load_Glyph(fontFile->face, idx, FT_LOAD_DEFAULT) ||
+		                           FT_LOAD_DEFAULT)) {
+    return gFalse;
+  }
 #endif
-      FT_Render_Glyph(slot,
+   if  (FT_Render_Glyph(slot,
 		      fontFile->engine->aa ? ft_render_mode_normal :
 		                             ft_render_mode_mono)) {
     return gFalse;

Reply to: