[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Devel] problem with PostScript names
From: |
David Turner |
Subject: |
Re: [Devel] problem with PostScript names |
Date: |
Thu, 18 Oct 2001 15:34:33 +0200 |
hi Jacob,
thanks for sending your test program. I have found the bug and
fixed it in the current CVS tree..;;;;;;
Cheers,
-David
"Jacob (=Jouk) Jansen" a écrit :
>
> David wrote (or better a écrit ) on 17-OCT-2001 16:47:33.98
> >"Jacob (=Jouk) Jansen" a écrit :
> >>
> >> Hi all,
> >>
> >> With freetype2 from the current CVS I get some problems with the psnames.
> >> For roman and greek letters it is OK. However, the ps-names of 0,1,2,3,4,5,
> >> !,#.$,%,&,',(,-,*,_,,,/, are assigned to something else. They them selves
> >> get another ps-name.
> >> I tested this with just a standard times.ttf file.
> >>
> >> Previous versions worked OK.
> >>
> >I've just tried it on my machine with times.ttf, and FT_Get_Glyph_Name
> >seems to work OK. Are you sure you're completely up-to-date ? maybe
> >you caught an interim commit ??
> The CVS of 16.00 MET yesterday had the same problem.
>
> >Some internals have changed recently regarding the Postscript names
> >storage within the library, but you should not see any difference
> >unless you access internal tables directly (which is _bad_ anyway :-)
>
> I attached to this mail a small test program.
> I linked with both with freetype2.04 and freetrypeCVS_yesterday. Running
> produced output on standard output which was captured in OLD.LIST and NEW.LIST
> respectively. A diffrence of these files are attached to this mail. The
> problem is clear. i.e. With the current CVS glyph no. 250 is wrongly called
> "one". (Glyph 20 is also called "one" which is correct in both 2.04 and CVS)
>
> I hope you can solve this problem.
>
> Jouk
>
> >------------------------test program start-----------------------------<
> # include <stdio.h>
>
> #include <string.h>
>
> #include <stdlib.h>
>
> #include <math.h>
>
> #include <freetype/freetype.h>
>
> main()
> {
> FT_Library font_library;
> FT_Face font_face;
> FT_Matrix matrix;
> FT_Bitmap bitmap;
> FT_GlyphSlot cur_glyph;
> FT_Glyph_Metrics glyph_metrics;
> int glyph_ind;
> int num_chars;
> char char_name[256];
>
>
> if ( FT_Init_FreeType( &font_library ) )
> exit;
>
> if ( FT_New_Face( font_library , "times.ttf" , 0 , &font_face ) )
> exit;
> if ( FT_Set_Char_Size( font_face , 0 , 768 , 300 , 300 ) )
> exit;
> num_chars = (int) font_face->num_glyphs;
> FT_Set_Transform( font_face , NULL , NULL );
>
> for ( glyph_ind = 0 ; glyph_ind < num_chars; glyph_ind++ )
> {
> if ( FT_Load_Glyph( font_face , glyph_ind , FT_LOAD_DEFAULT ) )
> exit;
> cur_glyph = font_face->glyph;
> if ( cur_glyph->format != ft_glyph_format_bitmap )
> if ( FT_Render_Glyph( font_face->glyph , ft_render_mode_mono ) )
> exit;
> if ( FT_Get_Glyph_Name( font_face , glyph_ind , char_name , 16 ) )
> exit;
> bitmap = cur_glyph->bitmap;
> glyph_metrics = cur_glyph->metrics;
> printf( "Glyph %d name %s %d %d %d %d %d\n" , glyph_ind , char_name ,
> glyph_metrics.horiBearingX / 64 ,
> glyph_metrics.horiBearingY / 64 ,
> glyph_metrics.horiAdvance / 64 ,
> bitmap.width , bitmap.rows );
> }
> }
> >------------------------test program end-----------------------------<
>
> >------------------------Output difference start-----------------------------<
> ************
> File $DISK3:[JOUKJ.TEST]OLD.LIST;2
> 144 Glyph 143 name notequal 1 32 28 27 39
> 145 Glyph 144 name AE -1 33 44 44 33
> 146 Glyph 145 name Oslash 2 34 36 33 35
> 147 Glyph 146 name infinity 1 23 36 34 21
> 148 Glyph 147 name plusminus 0 28 27 26 25
> 149 Glyph 148 name lessequal 1 30 28 27 34
> 150 Glyph 149 name greaterequal 1 30 28 27 34
> 151 Glyph 150 name yen 0 33 24 25 33
> 152 Glyph 151 name mu1 3 22 28 23 33
> 153 Glyph 152 name partialdiff 2 35 24 22 36
> 154 Glyph 153 name summation 1 33 36 34 44
> 155 Glyph 154 name product 1 35 41 39 46
> 156 Glyph 155 name pi1 2 22 27 23 23
> 157 Glyph 156 name integral 0 46 14 14 51
> 158 Glyph 157 name ordfeminine 0 34 15 15 15
> ******
> File $DISK3:[JOUKJ.TEST]NEW.LIST;2
> 144 Glyph 143 name nonmarkingretur 1 32 28 27 39
> 145 Glyph 144 name AE -1 33 44 44 33
> 146 Glyph 145 name Oslash 2 34 36 33 35
> 147 Glyph 146 name nonbreakingspac 1 23 36 34 21
> 148 Glyph 147 name plusminus 0 28 27 26 25
> 149 Glyph 148 name apple 1 30 28 27 34
> 150 Glyph 149 name .notdef 1 30 28 27 34
> 151 Glyph 150 name yen 0 33 24 25 33
> 152 Glyph 151 name mu1 3 22 28 23 33
> 153 Glyph 152 name space 2 35 24 22 36
> 154 Glyph 153 name exclam 1 33 36 34 44
> 155 Glyph 154 name quotedbl 1 35 41 39 46
> 156 Glyph 155 name pi1 2 22 27 23 23
> 157 Glyph 156 name dollar 0 46 14 14 51
> 158 Glyph 157 name ordfeminine 0 34 15 15 15
> ************
> ************
> File $DISK3:[JOUKJ.TEST]OLD.LIST;2
> 166 Glyph 165 name radical 2 46 27 25 48
> 167 Glyph 166 name florin 0 33 25 25 44
> 168 Glyph 167 name approxequal 1 25 28 26 18
> 169 Glyph 168 name Delta 1 33 31 29 33
> 170 Glyph 169 name guillemotleft 2 23 26 22 23
> ******
> File $DISK3:[JOUKJ.TEST]NEW.LIST;2
> 166 Glyph 165 name ampersand 2 46 27 25 48
> 167 Glyph 166 name florin 0 33 25 25 44
> 168 Glyph 167 name quoteright 1 25 28 26 18
> 169 Glyph 168 name parenleft 1 33 31 29 33
> 170 Glyph 169 name guillemotleft 2 23 26 22 23
> ************
> ************
> File $DISK3:[JOUKJ.TEST]OLD.LIST;2
> 185 Glyph 184 name lozenge 1 34 24 22 34
> 186 Glyph 185 name ydieresis 0 32 24 24 43
> ******
> File $DISK3:[JOUKJ.TEST]NEW.LIST;2
> 185 Glyph 184 name asterisk 1 34 24 22 34
> 186 Glyph 185 name ydieresis 0 32 24 24 43
> ************
> ************
> File $DISK3:[JOUKJ.TEST]OLD.LIST;2
> 246 Glyph 245 name franc 1 33 24 21 33
> 247 Glyph 246 name Gbreve 2 43 36 34 44
> 248 Glyph 247 name gbreve 1 32 24 23 43
> 249 Glyph 248 name Idot 1 41 15 13 41
> 250 Glyph 249 name Scedilla 2 36 27 23 46
> 251 Glyph 250 name scedilla 3 23 20 15 33
> 252 Glyph 251 name Cacute 2 44 34 30 45
> 253 Glyph 252 name cacute 2 34 23 19 35
> 254 Glyph 253 name Ccaron 2 44 34 30 45
> 255 Glyph 254 name ccaron 2 34 23 19 35
> 256 Glyph 255 name dmacron 1 34 25 24 35
> ******
> File $DISK3:[JOUKJ.TEST]NEW.LIST;2
> 246 Glyph 245 name comma 1 33 24 21 33
> 247 Glyph 246 name hyphen 2 43 36 34 44
> 248 Glyph 247 name period 1 32 24 23 43
> 249 Glyph 248 name slash 1 41 15 13 41
> 250 Glyph 249 name zero 2 36 27 23 46
> 251 Glyph 250 name one 3 23 20 15 33
> 252 Glyph 251 name two 2 44 34 30 45
> 253 Glyph 252 name three 2 34 23 19 35
> 254 Glyph 253 name four 2 44 34 30 45
> 255 Glyph 254 name five 2 34 23 19 35
> 256 Glyph 255 name dmacron 1 34 25 24 35
> ************
> ************
> File $DISK3:[JOUKJ.TEST]OLD.LIST;2
> 526 Glyph 525 name Omega 1 33 36 34 33
> 527 Glyph 526 name Iotadieresis 1 41 16 14 41
> ******
> File $DISK3:[JOUKJ.TEST]NEW.LIST;2
> 526 Glyph 525 name percent 1 33 36 34 33
> 527 Glyph 526 name Iotadieresis 1 41 16 14 41
> ************
> ************
> File $DISK3:[JOUKJ.TEST]OLD.LIST;2
> 653 Glyph 652 name pi 0 22 25 24 23
> 654 Glyph 653 name smiggring 0 34 50 46 27
> ******
> File $DISK3:[JOUKJ.TEST]NEW.LIST;2
> 653 Glyph 652 name numbersign 0 22 25 24 23
> 654 Glyph 653 name smiggring 0 34 50 46 27
> ************
>
> Number of difference sections found: 6
> Number of difference records found: 31
>
> DIFFERENCES /IGNORE=()/MERGED=1/OUTPUT=$DISK3:[JOUKJ.TEST]DIFF.LIST;2-
> $DISK3:[JOUKJ.TEST]OLD.LIST;2-
> $DISK3:[JOUKJ.TEST]NEW.LIST;2
> >------------------------Output difference end-----------------------------<
>
> Bush : All votes are equal but some votes are more equal than others.
>
> >------------------------------------------------------------------------------<
>
> Jouk Jansen
>
> address@hidden
>
> Technische Universiteit Delft tttttttttt uu uu ddddddd
> Nationaal centrum voor HREM tttttttttt uu uu dd dd
> Rotterdamseweg 137 tt uu uu dd dd
> 2628 AL Delft tt uu uu dd dd
> Nederland tt uu uu dd dd
> tel. 31-15-2782272 tt uuuuuuu ddddddd
>
> >------------------------------------------------------------------------------<
>
> _______________________________________________
> Devel mailing list
> address@hidden
> http://www.freetype.org/mailman/listinfo/devel