Go to the source code of this file.
|
| enum | { AFM_STREAM_STATUS_NORMAL
, AFM_STREAM_STATUS_EOC
, AFM_STREAM_STATUS_EOL
, AFM_STREAM_STATUS_EOF
} |
| |
| enum | AFM_Token_ {
AFM_TOKEN_ASCENDER
, AFM_TOKEN_AXISLABEL
, AFM_TOKEN_AXISTYPE
, AFM_TOKEN_B
,
AFM_TOKEN_BLENDAXISTYPES
, AFM_TOKEN_BLENDDESIGNMAP
, AFM_TOKEN_BLENDDESIGNPOSITIONS
, AFM_TOKEN_C
,
AFM_TOKEN_CC
, AFM_TOKEN_CH
, AFM_TOKEN_CAPHEIGHT
, AFM_TOKEN_CHARWIDTH
,
AFM_TOKEN_CHARACTERSET
, AFM_TOKEN_CHARACTERS
, AFM_TOKEN_DESCENDER
, AFM_TOKEN_ENCODINGSCHEME
,
AFM_TOKEN_ENDAXIS
, AFM_TOKEN_ENDCHARMETRICS
, AFM_TOKEN_ENDCOMPOSITES
, AFM_TOKEN_ENDDIRECTION
,
AFM_TOKEN_ENDFONTMETRICS
, AFM_TOKEN_ENDKERNDATA
, AFM_TOKEN_ENDKERNPAIRS
, AFM_TOKEN_ENDTRACKKERN
,
AFM_TOKEN_ESCCHAR
, AFM_TOKEN_FAMILYNAME
, AFM_TOKEN_FONTBBOX
, AFM_TOKEN_FONTNAME
,
AFM_TOKEN_FULLNAME
, AFM_TOKEN_ISBASEFONT
, AFM_TOKEN_ISCIDFONT
, AFM_TOKEN_ISFIXEDPITCH
,
AFM_TOKEN_ISFIXEDV
, AFM_TOKEN_ITALICANGLE
, AFM_TOKEN_KP
, AFM_TOKEN_KPH
,
AFM_TOKEN_KPX
, AFM_TOKEN_KPY
, AFM_TOKEN_L
, AFM_TOKEN_MAPPINGSCHEME
,
AFM_TOKEN_METRICSSETS
, AFM_TOKEN_N
, AFM_TOKEN_NOTICE
, AFM_TOKEN_PCC
,
AFM_TOKEN_STARTAXIS
, AFM_TOKEN_STARTCHARMETRICS
, AFM_TOKEN_STARTCOMPOSITES
, AFM_TOKEN_STARTDIRECTION
,
AFM_TOKEN_STARTFONTMETRICS
, AFM_TOKEN_STARTKERNDATA
, AFM_TOKEN_STARTKERNPAIRS
, AFM_TOKEN_STARTKERNPAIRS0
,
AFM_TOKEN_STARTKERNPAIRS1
, AFM_TOKEN_STARTTRACKKERN
, AFM_TOKEN_STDHW
, AFM_TOKEN_STDVW
,
AFM_TOKEN_TRACKKERN
, AFM_TOKEN_UNDERLINEPOSITION
, AFM_TOKEN_UNDERLINETHICKNESS
, AFM_TOKEN_VV
,
AFM_TOKEN_VVECTOR
, AFM_TOKEN_VERSION
, AFM_TOKEN_W
, AFM_TOKEN_W0
,
AFM_TOKEN_W0X
, AFM_TOKEN_W0Y
, AFM_TOKEN_W1
, AFM_TOKEN_W1X
,
AFM_TOKEN_W1Y
, AFM_TOKEN_WX
, AFM_TOKEN_WY
, AFM_TOKEN_WEIGHT
,
AFM_TOKEN_WEIGHTVECTOR
, AFM_TOKEN_XHEIGHT
, N_AFM_TOKENS
, AFM_TOKEN_UNKNOWN
} |
| |
|
| static int | afm_stream_skip_spaces (AFM_Stream stream) |
| |
| static char * | afm_stream_read_one (AFM_Stream stream) |
| |
| static char * | afm_stream_read_string (AFM_Stream stream) |
| |
| | afm_parser_read_vals (AFM_Parser parser, AFM_Value vals, FT_Int n) |
| |
| | afm_parser_next_key (AFM_Parser parser, FT_Bool line, FT_Offset *len) |
| |
| static AFM_Token | afm_tokenize (const char *key, FT_Offset len) |
| |
| | afm_parser_init (AFM_Parser parser, FT_Memory memory, FT_Byte *base, FT_Byte *limit) |
| |
| | afm_parser_done (AFM_Parser parser) |
| |
| static FT_Error | afm_parser_read_int (AFM_Parser parser, FT_Int *aint) |
| |
| static FT_Error | afm_parse_track_kern (AFM_Parser parser) |
| |
| | afm_compare_kern_pairs (const void *a, const void *b) |
| |
| static FT_Error | afm_parse_kern_pairs (AFM_Parser parser) |
| |
| static FT_Error | afm_parse_kern_data (AFM_Parser parser) |
| |
| static FT_Error | afm_parser_skip_section (AFM_Parser parser, FT_Int n, AFM_Token end_section) |
| |
| | afm_parser_parse (AFM_Parser parser) |
| |
◆ AFM_GETC
◆ AFM_IS_EOF
◆ AFM_IS_NEWLINE
◆ AFM_IS_SEP
◆ AFM_IS_SPACE
◆ AFM_STATUS_EOC
◆ AFM_STATUS_EOF
◆ AFM_STATUS_EOL
◆ AFM_STREAM_KEY_BEGIN
◆ AFM_STREAM_KEY_LEN
◆ EOF
◆ KERN_INDEX
◆ AFM_StreamRec
◆ AFM_Token
◆ anonymous enum
| Enumerator |
|---|
| AFM_STREAM_STATUS_NORMAL | |
| AFM_STREAM_STATUS_EOC | |
| AFM_STREAM_STATUS_EOL | |
| AFM_STREAM_STATUS_EOF | |
Definition at line 38 of file afmparse.c.
39 {
44 };
@ AFM_STREAM_STATUS_NORMAL
◆ AFM_Token_
| Enumerator |
|---|
| AFM_TOKEN_ASCENDER | |
| AFM_TOKEN_AXISLABEL | |
| AFM_TOKEN_AXISTYPE | |
| AFM_TOKEN_B | |
| AFM_TOKEN_BLENDAXISTYPES | |
| AFM_TOKEN_BLENDDESIGNMAP | |
| AFM_TOKEN_BLENDDESIGNPOSITIONS | |
| AFM_TOKEN_C | |
| AFM_TOKEN_CC | |
| AFM_TOKEN_CH | |
| AFM_TOKEN_CAPHEIGHT | |
| AFM_TOKEN_CHARWIDTH | |
| AFM_TOKEN_CHARACTERSET | |
| AFM_TOKEN_CHARACTERS | |
| AFM_TOKEN_DESCENDER | |
| AFM_TOKEN_ENCODINGSCHEME | |
| AFM_TOKEN_ENDAXIS | |
| AFM_TOKEN_ENDCHARMETRICS | |
| AFM_TOKEN_ENDCOMPOSITES | |
| AFM_TOKEN_ENDDIRECTION | |
| AFM_TOKEN_ENDFONTMETRICS | |
| AFM_TOKEN_ENDKERNDATA | |
| AFM_TOKEN_ENDKERNPAIRS | |
| AFM_TOKEN_ENDTRACKKERN | |
| AFM_TOKEN_ESCCHAR | |
| AFM_TOKEN_FAMILYNAME | |
| AFM_TOKEN_FONTBBOX | |
| AFM_TOKEN_FONTNAME | |
| AFM_TOKEN_FULLNAME | |
| AFM_TOKEN_ISBASEFONT | |
| AFM_TOKEN_ISCIDFONT | |
| AFM_TOKEN_ISFIXEDPITCH | |
| AFM_TOKEN_ISFIXEDV | |
| AFM_TOKEN_ITALICANGLE | |
| AFM_TOKEN_KP | |
| AFM_TOKEN_KPH | |
| AFM_TOKEN_KPX | |
| AFM_TOKEN_KPY | |
| AFM_TOKEN_L | |
| AFM_TOKEN_MAPPINGSCHEME | |
| AFM_TOKEN_METRICSSETS | |
| AFM_TOKEN_N | |
| AFM_TOKEN_NOTICE | |
| AFM_TOKEN_PCC | |
| AFM_TOKEN_STARTAXIS | |
| AFM_TOKEN_STARTCHARMETRICS | |
| AFM_TOKEN_STARTCOMPOSITES | |
| AFM_TOKEN_STARTDIRECTION | |
| AFM_TOKEN_STARTFONTMETRICS | |
| AFM_TOKEN_STARTKERNDATA | |
| AFM_TOKEN_STARTKERNPAIRS | |
| AFM_TOKEN_STARTKERNPAIRS0 | |
| AFM_TOKEN_STARTKERNPAIRS1 | |
| AFM_TOKEN_STARTTRACKKERN | |
| AFM_TOKEN_STDHW | |
| AFM_TOKEN_STDVW | |
| AFM_TOKEN_TRACKKERN | |
| AFM_TOKEN_UNDERLINEPOSITION | |
| AFM_TOKEN_UNDERLINETHICKNESS | |
| AFM_TOKEN_VV | |
| AFM_TOKEN_VVECTOR | |
| AFM_TOKEN_VERSION | |
| AFM_TOKEN_W | |
| AFM_TOKEN_W0 | |
| AFM_TOKEN_W0X | |
| AFM_TOKEN_W0Y | |
| AFM_TOKEN_W1 | |
| AFM_TOKEN_W1X | |
| AFM_TOKEN_W1Y | |
| AFM_TOKEN_WX | |
| AFM_TOKEN_WY | |
| AFM_TOKEN_WEIGHT | |
| AFM_TOKEN_WEIGHTVECTOR | |
| AFM_TOKEN_XHEIGHT | |
| N_AFM_TOKENS | |
| AFM_TOKEN_UNKNOWN | |
Definition at line 202 of file afmparse.c.
203 {
280
enum AFM_Token_ AFM_Token
@ AFM_TOKEN_UNDERLINEPOSITION
@ AFM_TOKEN_ENCODINGSCHEME
@ AFM_TOKEN_STARTTRACKKERN
@ AFM_TOKEN_STARTKERNDATA
@ AFM_TOKEN_ENDCOMPOSITES
@ AFM_TOKEN_BLENDAXISTYPES
@ AFM_TOKEN_STARTFONTMETRICS
@ AFM_TOKEN_STARTCOMPOSITES
@ AFM_TOKEN_UNDERLINETHICKNESS
@ AFM_TOKEN_STARTKERNPAIRS0
@ AFM_TOKEN_MAPPINGSCHEME
@ AFM_TOKEN_STARTCHARMETRICS
@ AFM_TOKEN_STARTKERNPAIRS
@ AFM_TOKEN_ENDCHARMETRICS
@ AFM_TOKEN_BLENDDESIGNPOSITIONS
@ AFM_TOKEN_STARTKERNPAIRS1
@ AFM_TOKEN_ENDFONTMETRICS
@ AFM_TOKEN_BLENDDESIGNMAP
@ AFM_TOKEN_STARTDIRECTION
◆ afm_compare_kern_pairs()
Definition at line 671 of file afmparse.c.
673 {
676
679
680
681 if ( index1 > index2 )
682 return 1;
683 else if ( index1 < index2 )
684 return -1;
685 else
686 return 0;
687 }
#define KERN_INDEX(g1, g2)
GLboolean GLboolean GLboolean b
GLboolean GLboolean GLboolean GLboolean a
struct AFM_KernPairRec_ * AFM_KernPair
Referenced by afm_parse_kern_pairs().
◆ afm_parse_kern_data()
Definition at line 789 of file afmparse.c.
790 {
794
795
797 {
799 {
804 break;
805
811 break;
812
816
818 break;
819
820 default:
822 }
823 }
824
827 }
static FT_Error afm_parse_kern_pairs(AFM_Parser parser)
static FT_Error afm_parse_track_kern(AFM_Parser parser)
afm_parser_next_key(AFM_Parser parser, FT_Bool line, FT_Offset *len)
static AFM_Token afm_tokenize(const char *key, FT_Offset len)
Referenced by afm_parser_parse().
◆ afm_parse_kern_pairs()
Definition at line 691 of file afmparse.c.
692 {
699
700
703
704 if ( tmp < 0 )
706
708
710 {
713
714
717 }
718
720 {
722
723
725 {
729 {
732
733
735
738
740
748
749
750 kp->
index1 = shared_vals[0].
u.u;
751 kp->
index2 = shared_vals[1].
u.u;
753 {
755 kp->
y = shared_vals[2].
u.i;
756 }
757 else
758 {
759 kp->
x = shared_vals[2].
u.i;
761 ? shared_vals[3].
u.i : 0;
762 }
763 }
764 break;
765
774
776 break;
777
778 default:
780 }
781 }
782
785 }
afm_compare_kern_pairs(const void *a, const void *b)
afm_parser_read_vals(AFM_Parser parser, AFM_Value vals, FT_Int n)
static FT_Error afm_parser_read_int(AFM_Parser parser, FT_Int *aint)
#define FT_QNEW_ARRAY(ptr, count)
typedefFT_BEGIN_HEADER struct FT_MemoryRec_ * FT_Memory
GLdouble GLdouble GLdouble r
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble * u
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat token
static char memory[1024 *256]
ActualNumberDriverObjects * sizeof(PDRIVER_OBJECT)) PDRIVER_OBJECT *DriverObjectList
Referenced by afm_parse_kern_data().
◆ afm_parse_track_kern()
Definition at line 587 of file afmparse.c.
588 {
595
596
599
600 if ( tmp < 0 )
602
604
606 {
609
610
613 }
614
616 {
618
619
621 {
624
627
629
637
638 tk->
degree = shared_vals[0].
u.i;
643
644 break;
645
651
653 break;
654
655 default:
657 }
658 }
659
662 }
Referenced by afm_parse_kern_data().
◆ afm_parser_done()
◆ afm_parser_init()
Definition at line 529 of file afmparse.c.
533 {
536
537
540
543
544
546
551
553 }
◆ afm_parser_next_key()
Definition at line 445 of file afmparse.c.
448 {
451
452
454 {
455 while ( 1 )
456 {
457
460
463
464
468 continue;
469
470 break;
471 }
472 }
473 else
474 {
475 while ( 1 )
476 {
477
480
483
484
488 continue;
489
490 break;
491 }
492 }
493
496 : 0;
497
499 }
#define AFM_STREAM_KEY_LEN(stream, key)
#define AFM_STATUS_EOC(stream)
#define AFM_STATUS_EOF(stream)
#define AFM_STATUS_EOL(stream)
static char * afm_stream_read_one(AFM_Stream stream)
static char * afm_stream_read_string(AFM_Stream stream)
Referenced by afm_parse_kern_data(), afm_parse_kern_pairs(), afm_parse_track_kern(), afm_parser_parse(), and afm_parser_skip_section().
◆ afm_parser_parse()
Definition at line 861 of file afmparse.c.
862 {
869
870
871 if ( !fi )
872 return FT_THROW( Invalid_Argument );
873
877 return FT_THROW( Unknown_File_Format );
878
880 {
882
883
885 {
889
890 if ( metrics_sets != 0 && metrics_sets != 2 )
891 {
893
895 }
896 break;
897
902
904 break;
905
913
918 break;
919
924
926 break;
927
932
934 break;
935
937 {
939
940
943
948 }
949 break;
950
955
956
957
960
961 default:
962 break;
963 }
964 }
965
969
972
974
976 }
static FT_Error afm_parser_skip_section(AFM_Parser parser, FT_Int n, AFM_Token end_section)
static FT_Error afm_parse_kern_data(AFM_Parser parser)
◆ afm_parser_read_int()
◆ afm_parser_read_vals()
Definition at line 371 of file afmparse.c.
374 {
378
379
381 return 0;
382
383 for (
i = 0;
i <
n;
i++ )
384 {
387
388
391 else
393
395 break;
396
398
400 {
403 {
406
407
409 {
412 }
413 }
414 break;
415
419 break;
420
424 break;
425
429 break;
430
434 else
436 break;
437 }
438 }
439
441 }
#define AFM_MAX_ARGUMENTS
#define FT_QALLOC(ptr, size)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
PS_Conv_ToInt(FT_Byte **cursor, FT_Byte *limit)
PS_Conv_ToFixed(FT_Byte **cursor, FT_Byte *limit, FT_Long power_ten)
Referenced by afm_parse_kern_pairs(), afm_parse_track_kern(), afm_parser_parse(), and afm_parser_read_int().
◆ afm_parser_skip_section()
◆ afm_stream_read_one()
Definition at line 121 of file afmparse.c.
122 {
124
125
129
131
132 while ( 1 )
133 {
135
136
138 break;
140 {
142 break;
143 }
145 {
147 break;
148 }
150 {
152 break;
153 }
154 }
155
157 }
#define AFM_STREAM_KEY_BEGIN(stream)
static int afm_stream_skip_spaces(AFM_Stream stream)
#define AFM_IS_NEWLINE(ch)
Referenced by afm_parser_next_key(), and afm_parser_read_vals().
◆ afm_stream_read_string()
◆ afm_stream_skip_spaces()
◆ afm_tokenize()
◆ afm_key_table