]> git.pld-linux.org Git - packages/gnustep-back.git/commitdiff
- support freetype 2.1.8+
authorJakub Bogusz <qboosh@pld-linux.org>
Sat, 26 Jun 2004 10:29:27 +0000 (10:29 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    gnustep-back-freetype.patch -> 1.1

gnustep-back-freetype.patch [new file with mode: 0644]

diff --git a/gnustep-back-freetype.patch b/gnustep-back-freetype.patch
new file mode 100644 (file)
index 0000000..a9510aa
--- /dev/null
@@ -0,0 +1,674 @@
+--- gnustep-back-0.9.3/Source/art/ftfont.m.orig        2004-05-13 17:14:46.000000000 +0200
++++ gnustep-back-0.9.3/Source/art/ftfont.m     2004-06-26 11:32:32.704296824 +0200
+@@ -61,6 +61,8 @@
+ #if (FREETYPE_MAJOR==2) && ((FREETYPE_MINOR<1) || ((FREETYPE_MINOR==1) && (FREETYPE_PATCH<=2)))
+ #define FT212_STUFF
++#elif (FREETYPE_MAJOR==2) && ((FREETYPE_MINOR>1) || ((FREETYPE_MINOR==1) && (FREETYPE_PATCH>=8)))
++#define FT_GE_218
+ #endif
+@@ -95,6 +97,9 @@
+   FTC_ImageTypeRec advancementImgd;
+ #endif
++#ifdef FT_GE_218
++  FTC_ScalerRec scalerd;
++#endif
+   FTFaceInfo *face_info;
+@@ -718,17 +723,31 @@
+       matrix[3] = ceil(matrix[3]);
+     }
++#ifdef FT_GE_218
++  scalerd.pixel = 1;
++  scalerd.width = imgd.width = fabs(matrix[0]);
++  scalerd.height = imgd.height = fabs(matrix[3]);
++#else
+   imgd.font.pix_width = fabs(matrix[0]);
+   imgd.font.pix_height = fabs(matrix[3]);
++#endif
+   rfi = font_entry->files;
+   if (screenFont && font_entry->num_sizes &&
++#ifdef FT_GE_218
++      imgd.width == imgd.height)
++#else
+       imgd.font.pix_width == imgd.font.pix_height)
++#endif
+     {
+       int i;
+       for (i = 0; i < font_entry->num_sizes; i++)
+       {
++#ifdef FT_GE_218
++        if (font_entry->sizes[i].pixel_size == imgd.width)
++#else
+         if (font_entry->sizes[i].pixel_size == imgd.font.pix_width)
++#endif
+           {
+             rfi = font_entry->sizes[i].files;
+             break;
+@@ -736,9 +755,18 @@
+       }
+     }
++#ifdef FT_GE_218
++  scalerd.face_id = imgd.face_id = (FTC_FaceID)rfi;
++#else
+   imgd.font.face_id = (FTC_FaceID)rfi;
++#endif
++#ifdef FT_GE_218
++  if ((error=FTC_Manager_LookupFace(ftc_manager, scalerd.face_id, &face)) ||
++      (error=FTC_Manager_LookupSize(ftc_manager, &scalerd, &size)))
++#else
+   if ((error=FTC_Manager_Lookup_Size(ftc_manager, &imgd.font, &face, &size)))
++#endif
+     {
+       NSLog(@"FTC_Manager_Lookup_Size() failed for '%@', error %08x!\n", name, error);
+       return self;
+@@ -762,6 +790,19 @@
+               fontBBox.size.width, fontBBox.size.height);*/
+   {
++#ifdef FT_GE_218
++    FT_CharMapRec crec;
++    FT_Int cind;
++    crec.face = face;
++    crec.encoding = ft_encoding_unicode;
++    crec.platform_id = crec.encoding_id = 0;
++    cind = FT_Get_Charmap_Index( &crec );
++    ligature_ff = FTC_CMapCache_Lookup(ftc_cmapcache, imgd.face_id, cind, 0xfb00);
++    ligature_fi = FTC_CMapCache_Lookup(ftc_cmapcache, imgd.face_id, cind, 0xfb01);
++    ligature_fl = FTC_CMapCache_Lookup(ftc_cmapcache, imgd.face_id, cind, 0xfb02);
++    ligature_ffi = FTC_CMapCache_Lookup(ftc_cmapcache, imgd.face_id, cind, 0xfb03);
++    ligature_ffl = FTC_CMapCache_Lookup(ftc_cmapcache, imgd.face_id, cind, 0xfb04);
++#else
+     FTC_CMapDescRec cmap;
+     cmap.face_id = imgd.font.face_id;
+     cmap.u.encoding = ft_encoding_unicode;
+@@ -771,6 +812,7 @@
+     ligature_fl = FTC_CMapCache_Lookup(ftc_cmapcache, &cmap, 0xfb02);
+     ligature_ffi = FTC_CMapCache_Lookup(ftc_cmapcache, &cmap, 0xfb03);
+     ligature_ffl = FTC_CMapCache_Lookup(ftc_cmapcache, &cmap, 0xfb04);
++#endif
+ /*    printf("ligatures %04x %04x %04x %04x %04x | %02x %02x %02x for |%@|\n",
+       ligature_ff,ligature_fi,ligature_fl,ligature_ffi,ligature_ffl,
+       FTC_CMapCache_Lookup(ftc_cmapcache, &cmap, 'f'),
+@@ -881,7 +923,13 @@
+   unsigned char ch;
+   unsigned int uch;
++#ifdef FT_GE_218
++  FT_CharMapRec crec;
++  FT_Int cind;
++  FT_Face face1;
++#else
+   FTC_CMapDescRec cmap;
++#endif
+   unsigned int glyph;
+   int use_sbit;
+@@ -935,8 +983,13 @@
+       xx < 72 && yy < 72 && xx > 0.5 && yy > 0.5)
+       {
+       use_sbit = 1;
++#ifdef FT_GE_218
++      cur.width = xx;
++      cur.height = yy;
++#else
+       cur.font.pix_width = xx;
+       cur.font.pix_height = yy;
++#endif
+       if (xx == yy && xx < 16 && xx >= 8)
+         {
+@@ -998,7 +1051,11 @@
+       f = (int)f;
++#ifdef FT_GE_218
++      cur.width = cur.height = f;
++#else
+       cur.font.pix_width = cur.font.pix_height = f;
++#endif
+       ftmatrix.xx = xx / f * 65536.0;
+       ftmatrix.xy = xy / f * 65536.0;
+       ftmatrix.yx = yx / f * 65536.0;
+@@ -1011,9 +1068,17 @@
+ /*    NSLog(@"drawString: '%s' at: %i:%i  to: %i:%i:%i:%i:%p\n",
+               s, x, y, x0, y0, x1, y1, buf);*/
++#ifdef FT_GE_218
++  FTC_Manager_LookupFace(ftc_manager, imgd.face_id, &face1);
++  crec.face = face1;
++  crec.encoding = ft_encoding_unicode;
++  crec.platform_id = crec.encoding_id = 0;
++  cind = FT_Get_Charmap_Index( &crec );
++#else
+   cmap.face_id = imgd.font.face_id;
+   cmap.u.encoding = ft_encoding_unicode;
+   cmap.type = FTC_CMAP_BY_ENCODING;
++#endif
+   for (c = s; *c; c++)
+     {
+@@ -1069,15 +1134,24 @@
+       uch = 0xfffd;
+ #undef ADD_UTF_BYTE
++#ifdef FT_GE_218
++      glyph = FTC_CMapCache_Lookup(ftc_cmapcache, imgd.face_id, cind, uch);
++      cur.face_id = imgd.face_id;
++#else
+       glyph = FTC_CMapCache_Lookup(ftc_cmapcache, &cmap, uch);
+       cur.font.face_id = imgd.font.face_id;
++#endif
+       if (use_sbit)
+       {
+         if ((error=FTC_SBitCache_Lookup(ftc_sbitcache, &cur, glyph, &sbit, NULL)))
+           {
+             NSLog(@"FTC_SBitCache_Lookup() failed with error %08x (%08x, %08x, %ix%i, %08x)\n",
++#ifdef FT_GE_218
++              error, glyph, cur.face_id, cur.width, cur.height,
++#else
+               error, glyph, cur.font.face_id, cur.font.pix_width, cur.font.pix_height,
++#endif
+ #ifdef FT212_STUFF
+               cur.type
+ #else
+@@ -1206,12 +1280,19 @@
+         FT_Glyph gl;
+         FT_BitmapGlyph gb;
++#ifdef FT_GE_218
++        if ((error=FTC_Manager_LookupFace(ftc_manager, cur.face_id, &face)))
++          {
++            NSLog(@"FTC_Manager_LookupFace() failed with error %08x\n",error);
++            continue;
++          }
++#else
+         if ((error=FTC_Manager_Lookup_Size(ftc_manager, &cur.font, &face, 0)))
+           {
+             NSLog(@"FTC_Manager_Lookup_Size() failed with error %08x\n",error);
+             continue;
+           }
+-
++#endif
+         /* TODO: for rotations of 90, 180, 270, and integer
+            scales hinting might still be a good idea. */
+         if ((error=FT_Load_Glyph(face, glyph, FT_LOAD_NO_HINTING | FT_LOAD_NO_BITMAP)))
+@@ -1377,8 +1458,13 @@
+       xx < 72 && yy < 72 && xx > 0.5 && yy > 0.5)
+       {
+       use_sbit = 1;
++#ifdef FT_GE_218
++      cur.width = xx;
++      cur.height = yy;
++#else
+       cur.font.pix_width = xx;
+       cur.font.pix_height = yy;
++#endif
+       if (xx == yy && xx < 16 && xx >= 8)
+         {
+@@ -1440,7 +1526,11 @@
+       f = (int)f;
++#ifdef FT_GE_218
++      cur.width = cur.height = f;
++#else
+       cur.font.pix_width = cur.font.pix_height = f;
++#endif
+       ftmatrix.xx = xx / f * 65536.0;
+       ftmatrix.xy = xy / f * 65536.0;
+       ftmatrix.yx = yx / f * 65536.0;
+@@ -1461,7 +1551,11 @@
+         if ((error = FTC_SBitCache_Lookup(ftc_sbitcache, &cur, glyph, &sbit, NULL)))
+           {
+             NSLog(@"FTC_SBitCache_Lookup() failed with error %08x (%08x, %08x, %ix%i, %08x)\n",
++#ifdef FT_GE_218
++              error, glyph, cur.face_id, cur.width, cur.height,
++#else
+               error, glyph, cur.font.face_id, cur.font.pix_width, cur.font.pix_height,
++#endif
+ #ifdef FT212_STUFF
+               cur.type
+ #else
+@@ -1590,11 +1684,19 @@
+         FT_Glyph gl;
+         FT_BitmapGlyph gb;
++#ifdef FT_GE_218
++        if ((error=FTC_Manager_LookupFace(ftc_manager, cur.face_id, &face)))
++          {
++            NSLog(@"FTC_Manager_LookupFace() failed with error %08x\n",error);
++            continue;
++          }
++#else
+         if ((error=FTC_Manager_Lookup_Size(ftc_manager, &cur.font, &face, 0)))
+           {
+             NSLog(@"FTC_Manager_Lookup_Size() failed with error %08x\n",error);
+             continue;
+           }
++#endif
+         /* TODO: for rotations of 90, 180, 270, and integer
+            scales hinting might still be a good idea. */
+@@ -1751,8 +1853,13 @@
+       xx < 72 && yy < 72 && xx > 0.5 && yy > 0.5)
+       {
+       use_sbit = 1;
++#ifdef FT_GE_218
++      cur.width = xx;
++      cur.height = yy;
++#else
+       cur.font.pix_width = xx;
+       cur.font.pix_height = yy;
++#endif
+       if (xx == yy && xx < 16 && xx >= 8)
+         {
+@@ -1814,7 +1921,11 @@
+       f = (int)f;
++#ifdef FT_GE_218
++      cur.width = cur.height = f;
++#else
+       cur.font.pix_width = cur.font.pix_height = f;
++#endif
+       ftmatrix.xx = xx / f * 65536.0;
+       ftmatrix.xy = xy / f * 65536.0;
+       ftmatrix.yx = yx / f * 65536.0;
+@@ -1836,7 +1947,11 @@
+           {
+             if (glyph != 0xffffffff)
+               NSLog(@"FTC_SBitCache_Lookup() failed with error %08x (%08x, %08x, %ix%i, %08x)\n",
++#ifdef FT_GE_218
++                error, glyph, cur.face_id, cur.width, cur.height,
++#else
+                 error, glyph, cur.font.face_id, cur.font.pix_width, cur.font.pix_height,
++#endif
+ #ifdef FT212_STUFF
+                 cur.type
+ #else
+@@ -1963,11 +2078,19 @@
+         FT_Glyph gl;
+         FT_BitmapGlyph gb;
++#ifdef FT_GE_218
++        if ((error=FTC_Manager_LookupFace(ftc_manager, cur.face_id, &face)))
++          {
++            NSLog(@"FTC_Manager_LookupFace() failed with error %08x\n",error);
++            continue;
++          }
++#else
+         if ((error=FTC_Manager_Lookup_Size(ftc_manager, &cur.font, &face, 0)))
+           {
+             NSLog(@"FTC_Manager_Lookup_Size() failed with error %08x\n",error);
+             continue;
+           }
++#endif
+         /* TODO: for rotations of 90, 180, 270, and integer
+            scales hinting might still be a good idea. */
+@@ -2067,11 +2190,19 @@
+   FT_Error error;
+   glyph--;
++#ifdef FT_GE_218
++  if ((error=FTC_Manager_LookupFace(ftc_manager, imgd.face_id, &face)))
++    {
++      NSLog(@"FTC_Manager_LookupFace() failed with error %08x",error);
++      return NO;
++    }
++#else
+   if ((error=FTC_Manager_Lookup_Size(ftc_manager, &imgd.font, &face, 0)))
+     {
+       NSLog(@"FTC_Manager_Lookup_Size() failed with error %08x",error);
+       return NO;
+     }
++#endif
+   if ((error=FT_Load_Glyph(face, glyph, 0)))
+     {
+@@ -2104,8 +2235,13 @@
+       if ((error=FTC_SBitCache_Lookup(ftc_sbitcache, &advancementImgd, glyph, &sbit, NULL)))
+       {
+         NSLog(@"FTC_SBitCache_Lookup() failed with error %08x (%08x, %08x, %ix%i, %08x)\n",
++#ifdef FT_GE_218
++          error, glyph, advancementImgd.face_id,
++          advancementImgd.width, advancementImgd.height,
++#else
+           error, glyph, advancementImgd.font.face_id,
+           advancementImgd.font.pix_width, advancementImgd.font.pix_height,
++#endif
+ #ifdef FT212_STUFF
+           advancementImgd.type
+ #else
+@@ -2142,7 +2278,11 @@
+       ftmatrix.yy = matrix[3] / f * 65536.0;
+       ftdelta.x = ftdelta.y = 0;
++#ifdef FT_GE_218
++      if (FTC_Manager_LookupFace(ftc_manager, imgd.face_id, &face))
++#else
+       if (FTC_Manager_Lookup_Size(ftc_manager, &imgd.font, &face, 0))
++#endif
+       return NSZeroSize;
+       if (FT_Load_Glyph(face, glyph, FT_LOAD_NO_HINTING | FT_LOAD_NO_BITMAP))
+@@ -2210,7 +2350,11 @@
+   g--;
+   prev--;
++#ifdef FT_GE_218
++  if (FTC_Manager_LookupFace(ftc_manager, imgd.face_id, &face))
++#else
+   if (FTC_Manager_Lookup_Size(ftc_manager, &imgd.font, &face, 0))
++#endif
+     return NSZeroPoint;
+   if (FT_Load_Glyph(face, prev, FT_LOAD_DEFAULT))
+@@ -2240,7 +2384,13 @@
+   int i, c = [string length];
+   int total;
++#ifdef FT_GE_218
++  FT_CharMapRec crec;
++  FT_Int cind;
++  FT_Face face1;
++#else
+   FTC_CMapDescRec cmap;
++#endif
+   unsigned int glyph;
+   FTC_SBit sbit;
+@@ -2251,17 +2401,28 @@
+   FTC_ImageTypeRec *cur;
+ #endif
+-
++#ifdef FT_GE_218
++  FTC_Manager_LookupFace(ftc_manager, imgd.face_id, &face1);
++  crec.face = face1;
++  crec.encoding = ft_encoding_unicode;
++  crec.platform_id = crec.encoding_id = 0;
++  cind = FT_Get_Charmap_Index( &crec );
++#else
+   cmap.face_id = imgd.font.face_id;
+   cmap.u.encoding = ft_encoding_unicode;
+   cmap.type = FTC_CMAP_BY_ENCODING;
++#endif
+   total = 0;
+   for (i = 0; i < c; i++)
+     {
+       ch = [string characterAtIndex: i];
+       cur = &imgd;
++#ifdef FT_GE_218
++      glyph = FTC_CMapCache_Lookup(ftc_cmapcache, imgd.face_id, cind, ch);
++#else
+       glyph = FTC_CMapCache_Lookup(ftc_cmapcache, &cmap, ch);
++#endif
+       /* TODO: shouldn't use sbit cache for this */
+       if (1)
+@@ -2285,7 +2446,11 @@
+   FT_Face face;
+   NSGlyph g;
++#ifdef FT_GE_218
++  if (FTC_Manager_LookupFace(ftc_manager, imgd.face_id, &face))
++#else
+   if (FTC_Manager_Lookup_Size(ftc_manager, &imgd.font, &face, 0))
++#endif
+     return NSNullGlyph;
+   g = FT_Get_Name_Index(face, (FT_String *)[glyphName lossyCString]);
+@@ -2526,7 +2691,12 @@
+ {
+   unichar *c;
+   int i;
++#ifdef FT_GE_218
++  FT_CharMapRec crec;
++  FT_Int cind;
++#else
+   FTC_CMapDescRec cmap;
++#endif
+   unsigned int glyph;
+   unichar *uch;
+@@ -2557,9 +2727,14 @@
+   cur = imgd;
++#ifdef FT_GE_218
++  crec.encoding = ft_encoding_unicode;
++  crec.platform_id = crec.encoding_id = 0;
++#else
+   cmap.face_id = imgd.font.face_id;
+   cmap.u.encoding = ft_encoding_unicode;
+   cmap.type = FTC_CMAP_BY_ENCODING;
++#endif
+   for (c = uch, i = 0; i < ulen; i++, c++)
+     {
+@@ -2567,11 +2742,23 @@
+       FT_Glyph gl;
+       FT_OutlineGlyph og;
++#ifdef FT_GE_218
++      if (FTC_Manager_LookupFace(ftc_manager, cur.face_id, &face))
++#else
++      if (FTC_Manager_Lookup_Size(ftc_manager, &cur.font, &face, 0))
++#endif
++      continue;
++
++#ifdef FT_GE_218
++      crec.face = face;
++      cind = FT_Get_Charmap_Index( &crec );
++      glyph = FTC_CMapCache_Lookup(ftc_cmapcache, imgd.face_id, cind, *c);
++      cur.face_id = imgd.face_id;
++#else
+       glyph = FTC_CMapCache_Lookup(ftc_cmapcache, &cmap, *c);
+       cur.font.face_id = imgd.font.face_id;
++#endif
+-      if (FTC_Manager_Lookup_Size(ftc_manager, &cur.font, &face, 0))
+-      continue;
+       if (FT_Load_Glyph(face, glyph, FT_LOAD_DEFAULT))
+       continue;
+@@ -2630,7 +2817,11 @@
+       glyph = *glyphs - 1;
++#ifdef FT_GE_218
++      if (FTC_Manager_LookupFace(ftc_manager, imgd.face_id, &face))
++#else
+       if (FTC_Manager_Lookup_Size(ftc_manager, &imgd.font, &face, 0))
++#endif
+       continue;
+       if (FT_Load_Glyph(face, glyph, FT_LOAD_DEFAULT))
+       continue;
+@@ -2757,7 +2948,6 @@
+       transform: (NSAffineTransform *)transform
+       drawinfo: (struct draw_info_s *)di
+ {
+-  FTC_CMapDescRec cmap;
+   unsigned int glyph;
+   int use_sbit;
+@@ -2808,15 +2998,24 @@
+       xx < 72 && yy < 72 && xx > 0.5 && yy > 0.5)
+       {
+       use_sbit = 1;
++#ifdef FT_GE_218
++      cur.width = xx;
++      cur.height = yy;
++#else
+       cur.font.pix_width = xx;
+       cur.font.pix_height = yy;
++#endif
+ /*    if (cur.font.pix_width < 16 && cur.font.pix_height < 16 &&
+           cur.font.pix_width > 6 && cur.font.pix_height > 6)
+         cur.type = ftc_image_mono;
+       else*/
+ #ifdef FT212_STUFF
++#ifdef FT_GE_218
++        cur.type = ftc_image_grays, subpixel = YES, cur.width *= 3, x *= 3;
++#else
+         cur.type = ftc_image_grays, subpixel = YES, cur.font.pix_width *= 3, x *= 3;
++#endif
+ #else
+         cur.flags = FT_LOAD_TARGET_LCD, subpixel = YES;
+ #endif
+@@ -2835,7 +3034,11 @@
+       f = (int)f;
++#ifdef FT_GE_218
++      cur.width = cur.height = f;
++#else
+       cur.font.pix_width = cur.font.pix_height = f;
++#endif
+       ftmatrix.xx = xx / f * 65536.0;
+       ftmatrix.xy = xy / f * 65536.0;
+       ftmatrix.yx = yx / f * 65536.0;
+@@ -2848,10 +3051,6 @@
+ /*    NSLog(@"drawString: '%s' at: %i:%i  to: %i:%i:%i:%i:%p\n",
+               s, x, y, x0, y0, x1, y1, buf);*/
+-  cmap.face_id = imgd.font.face_id;
+-  cmap.u.encoding = ft_encoding_unicode;
+-  cmap.type = FTC_CMAP_BY_ENCODING;
+-
+   for (; length; length--, glyphs++)
+     {
+       glyph = *glyphs - 1;
+@@ -3033,7 +3232,11 @@
+         FT_Glyph gl;
+         FT_BitmapGlyph gb;
++#ifdef FT_GE_218
++        if (FTC_Manager_LookupFace(ftc_manager, cur.face_id, &face))
++#else
+         if (FTC_Manager_Lookup_Size(ftc_manager, &cur.font, &face, 0))
++#endif
+           continue;
+         /* TODO: for rotations of 90, 180, 270, and integer
+@@ -3134,6 +3337,17 @@
+ {
+   FTFontInfo *fi=fontInfo;
++#ifdef FT_GE_218
++  FT_CharMapRec crec;
++  FT_Int cind;
++  FT_Face face1;
++  FTC_Manager_LookupFace(ftc_manager, fi->imgd.face_id, &face1);
++  crec.face = face1;
++  crec.encoding = ft_encoding_unicode;
++  crec.platform_id = crec.encoding_id = 0;
++  cind = FT_Get_Charmap_Index( &crec );
++  return FTC_CMapCache_Lookup(ftc_cmapcache, fi->imgd.face_id, cind, ch) + 1;
++#else
+   FTC_CMapDescRec cmap;
+   cmap.face_id = fi->imgd.font.face_id;
+@@ -3141,6 +3355,7 @@
+   cmap.type = FTC_CMAP_BY_ENCODING;
+   return FTC_CMapCache_Lookup(ftc_cmapcache, &cmap, ch) + 1;
++#endif
+ }
+ -(NSString *) nameOfGlyph: (NSGlyph)glyph
+@@ -3152,7 +3367,11 @@
+   glyph--;
++#ifdef FT_GE_218
++  if (FTC_Manager_LookupFace(ftc_manager, fi->imgd.face_id, &face))
++#else
+   if (FTC_Manager_Lookup_Size(ftc_manager, &fi->imgd.font, &face, 0))
++#endif
+     return nil;
+   if (FT_Get_Glyph_Name(face,glyph,buf,sizeof(buf)))
+@@ -3219,7 +3438,13 @@
+       unsigned int ch,ch2,ch3;
+       FTFontInfo *fi=[run->font fontInfo];
++#ifdef FT_GE_218
++      FT_CharMapRec crec;
++      FT_Int cind;
++      FT_Face face1;
++#else
+       FTC_CMapDescRec cmap;
++#endif
+       NSCharacterSet *cs=[NSCharacterSet controlCharacterSet];
+       IMP characterIsMember=[cs methodForSelector: @selector(characterIsMember:)];
+@@ -3231,9 +3456,17 @@
+       [[_textStorage string] getCharacters: buf
+               range: NSMakeRange(pos,c)];
++#ifdef FT_GE_218
++      FTC_Manager_LookupFace(ftc_manager, fi->imgd.face_id, &face1);
++      crec.face = face1;
++      crec.encoding = ft_encoding_unicode;
++      crec.platform_id = crec.encoding_id = 0;
++      cind = FT_Get_Charmap_Index( &crec );
++#else
+       cmap.face_id = fi->imgd.font.face_id;
+       cmap.u.encoding = ft_encoding_unicode;
+       cmap.type = FTC_CMAP_BY_ENCODING;
++#endif
+       /* first guess */
+       glyph_size=c;
+@@ -3309,7 +3542,11 @@
+                               ch = 0xfffd;
+               }
++#ifdef FT_GE_218
++              g->g=FTC_CMapCache_Lookup(ftc_cmapcache, fi->imgd.face_id, cind, ch) + 1;
++#else
+               g->g=FTC_CMapCache_Lookup(ftc_cmapcache, &cmap, ch) + 1;
++#endif
+               if (g->g == 1 && ch<0x10000)
+               {
+@@ -3325,7 +3562,11 @@
+                                       g=run->glyphs+j;
+                                       memset(&run->glyphs[glyph_size-1],0,sizeof(glyph_t));
++#ifdef FT_GE_218
++                                      g->g=FTC_CMapCache_Lookup(ftc_cmapcache, fi->imgd.face_id, cind, *decomp) + 1;
++#else
+                                       g->g=FTC_CMapCache_Lookup(ftc_cmapcache, &cmap, *decomp) + 1;
++#endif
+                                       if (g->g == 1)
+                                               break;
+                                       c++;
+@@ -3365,7 +3606,11 @@
+   FT_Face face;
+   g--;
++#ifdef FT_GE_218
++  if (FTC_Manager_LookupFace(ftc_manager, imgd.face_id, &face))
++#else
+   if (FTC_Manager_Lookup_Size(ftc_manager, &imgd.font, &face, 0))
++#endif
+     return ".notdef";
+   if (FT_Get_Glyph_Name(face, g, buf, sizeof(buf)))
This page took 0.061366 seconds and 4 git commands to generate.