w32tex
About: TeX Live provides a comprehensive TeX system including all the major TeX-related programs, macro packages, and fonts that are free software. Windows sources.
  Fossies Dox: w32tex-src.tar.xz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

sfnt.h
Go to the documentation of this file.
1 /****************************************************************************
2  *
3  * sfnt.h
4  *
5  * High-level 'sfnt' driver interface (specification).
6  *
7  * Copyright (C) 1996-2020 by
8  * David Turner, Robert Wilhelm, and Werner Lemberg.
9  *
10  * This file is part of the FreeType project, and may only be used,
11  * modified, and distributed under the terms of the FreeType project
12  * license, LICENSE.TXT. By continuing to use, modify, or distribute
13  * this file you indicate that you have read the license and
14  * understand and accept it fully.
15  *
16  */
17 
18 
19 #ifndef SFNT_H_
20 #define SFNT_H_
21 
22 
23 #include <freetype/internal/ftdrv.h>
24 #include <freetype/internal/tttypes.h>
25 #include <freetype/internal/wofftypes.h>
26 
27 
29 
30 
31  /**************************************************************************
32  *
33  * @functype:
34  * TT_Init_Face_Func
35  *
36  * @description:
37  * First part of the SFNT face object initialization. This finds the
38  * face in a SFNT file or collection, and load its format tag in
39  * face->format_tag.
40  *
41  * @input:
42  * stream ::
43  * The input stream.
44  *
45  * face ::
46  * A handle to the target face object.
47  *
48  * face_index ::
49  * The index of the TrueType font, if we are opening a collection, in
50  * bits 0-15. The numbered instance index~+~1 of a GX (sub)font, if
51  * applicable, in bits 16-30.
52  *
53  * num_params ::
54  * The number of additional parameters.
55  *
56  * params ::
57  * Optional additional parameters.
58  *
59  * @return:
60  * FreeType error code. 0 means success.
61  *
62  * @note:
63  * The stream cursor must be at the font file's origin.
64  *
65  * This function recognizes fonts embedded in a 'TrueType collection'.
66  *
67  * Once the format tag has been validated by the font driver, it should
68  * then call the TT_Load_Face_Func() callback to read the rest of the
69  * SFNT tables in the object.
70  */
71  typedef FT_Error
73  TT_Face face,
74  FT_Int face_index,
75  FT_Int num_params,
77 
78 
79  /**************************************************************************
80  *
81  * @functype:
82  * TT_Load_Face_Func
83  *
84  * @description:
85  * Second part of the SFNT face object initialization. This loads the
86  * common SFNT tables (head, OS/2, maxp, metrics, etc.) in the face
87  * object.
88  *
89  * @input:
90  * stream ::
91  * The input stream.
92  *
93  * face ::
94  * A handle to the target face object.
95  *
96  * face_index ::
97  * The index of the TrueType font, if we are opening a collection, in
98  * bits 0-15. The numbered instance index~+~1 of a GX (sub)font, if
99  * applicable, in bits 16-30.
100  *
101  * num_params ::
102  * The number of additional parameters.
103  *
104  * params ::
105  * Optional additional parameters.
106  *
107  * @return:
108  * FreeType error code. 0 means success.
109  *
110  * @note:
111  * This function must be called after TT_Init_Face_Func().
112  */
113  typedef FT_Error
115  TT_Face face,
116  FT_Int face_index,
117  FT_Int num_params,
118  FT_Parameter* params );
119 
120 
121  /**************************************************************************
122  *
123  * @functype:
124  * TT_Done_Face_Func
125  *
126  * @description:
127  * A callback used to delete the common SFNT data from a face.
128  *
129  * @input:
130  * face ::
131  * A handle to the target face object.
132  *
133  * @note:
134  * This function does NOT destroy the face object.
135  */
136  typedef void
138 
139 
140  /**************************************************************************
141  *
142  * @functype:
143  * TT_Load_Any_Func
144  *
145  * @description:
146  * Load any font table into client memory.
147  *
148  * @input:
149  * face ::
150  * The face object to look for.
151  *
152  * tag ::
153  * The tag of table to load. Use the value 0 if you want to access the
154  * whole font file, else set this parameter to a valid TrueType table
155  * tag that you can forge with the MAKE_TT_TAG macro.
156  *
157  * offset ::
158  * The starting offset in the table (or the file if tag == 0).
159  *
160  * length ::
161  * The address of the decision variable:
162  *
163  * If `length == NULL`: Loads the whole table. Returns an error if
164  * 'offset' == 0!
165  *
166  * If `*length == 0`: Exits immediately; returning the length of the
167  * given table or of the font file, depending on the value of 'tag'.
168  *
169  * If `*length != 0`: Loads the next 'length' bytes of table or font,
170  * starting at offset 'offset' (in table or font too).
171  *
172  * @output:
173  * buffer ::
174  * The address of target buffer.
175  *
176  * @return:
177  * TrueType error code. 0 means success.
178  */
179  typedef FT_Error
181  FT_ULong tag,
182  FT_Long offset,
183  FT_Byte *buffer,
184  FT_ULong* length );
185 
186 
187  /**************************************************************************
188  *
189  * @functype:
190  * TT_Find_SBit_Image_Func
191  *
192  * @description:
193  * Check whether an embedded bitmap (an 'sbit') exists for a given glyph,
194  * at a given strike.
195  *
196  * @input:
197  * face ::
198  * The target face object.
199  *
200  * glyph_index ::
201  * The glyph index.
202  *
203  * strike_index ::
204  * The current strike index.
205  *
206  * @output:
207  * arange ::
208  * The SBit range containing the glyph index.
209  *
210  * astrike ::
211  * The SBit strike containing the glyph index.
212  *
213  * aglyph_offset ::
214  * The offset of the glyph data in 'EBDT' table.
215  *
216  * @return:
217  * FreeType error code. 0 means success. Returns
218  * SFNT_Err_Invalid_Argument if no sbit exists for the requested glyph.
219  */
220  typedef FT_Error
223  FT_ULong strike_index,
224  TT_SBit_Range *arange,
225  TT_SBit_Strike *astrike,
226  FT_ULong *aglyph_offset );
227 
228 
229  /**************************************************************************
230  *
231  * @functype:
232  * TT_Load_SBit_Metrics_Func
233  *
234  * @description:
235  * Get the big metrics for a given embedded bitmap.
236  *
237  * @input:
238  * stream ::
239  * The input stream.
240  *
241  * range ::
242  * The SBit range containing the glyph.
243  *
244  * @output:
245  * big_metrics ::
246  * A big SBit metrics structure for the glyph.
247  *
248  * @return:
249  * FreeType error code. 0 means success.
250  *
251  * @note:
252  * The stream cursor must be positioned at the glyph's offset within the
253  * 'EBDT' table before the call.
254  *
255  * If the image format uses variable metrics, the stream cursor is
256  * positioned just after the metrics header in the 'EBDT' table on
257  * function exit.
258  */
259  typedef FT_Error
263 
264 
265  /**************************************************************************
266  *
267  * @functype:
268  * TT_Load_SBit_Image_Func
269  *
270  * @description:
271  * Load a given glyph sbit image from the font resource. This also
272  * returns its metrics.
273  *
274  * @input:
275  * face ::
276  * The target face object.
277  *
278  * strike_index ::
279  * The strike index.
280  *
281  * glyph_index ::
282  * The current glyph index.
283  *
284  * load_flags ::
285  * The current load flags.
286  *
287  * stream ::
288  * The input stream.
289  *
290  * @output:
291  * amap ::
292  * The target pixmap.
293  *
294  * ametrics ::
295  * A big sbit metrics structure for the glyph image.
296  *
297  * @return:
298  * FreeType error code. 0 means success. Returns an error if no glyph
299  * sbit exists for the index.
300  *
301  * @note:
302  * The `map.buffer` field is always freed before the glyph is loaded.
303  */
304  typedef FT_Error
306  FT_ULong strike_index,
308  FT_UInt load_flags,
310  FT_Bitmap *amap,
311  TT_SBit_MetricsRec *ametrics );
312 
313 
314  /**************************************************************************
315  *
316  * @functype:
317  * TT_Set_SBit_Strike_Func
318  *
319  * @description:
320  * Select an sbit strike for a given size request.
321  *
322  * @input:
323  * face ::
324  * The target face object.
325  *
326  * req ::
327  * The size request.
328  *
329  * @output:
330  * astrike_index ::
331  * The index of the sbit strike.
332  *
333  * @return:
334  * FreeType error code. 0 means success. Returns an error if no sbit
335  * strike exists for the selected ppem values.
336  */
337  typedef FT_Error
339  FT_Size_Request req,
340  FT_ULong* astrike_index );
341 
342 
343  /**************************************************************************
344  *
345  * @functype:
346  * TT_Load_Strike_Metrics_Func
347  *
348  * @description:
349  * Load the metrics of a given strike.
350  *
351  * @input:
352  * face ::
353  * The target face object.
354  *
355  * strike_index ::
356  * The strike index.
357  *
358  * @output:
359  * metrics ::
360  * the metrics of the strike.
361  *
362  * @return:
363  * FreeType error code. 0 means success. Returns an error if no such
364  * sbit strike exists.
365  */
366  typedef FT_Error
368  FT_ULong strike_index,
370 
371 
372  /**************************************************************************
373  *
374  * @functype:
375  * TT_Get_PS_Name_Func
376  *
377  * @description:
378  * Get the PostScript glyph name of a glyph.
379  *
380  * @input:
381  * idx ::
382  * The glyph index.
383  *
384  * PSname ::
385  * The address of a string pointer. Will be `NULL` in case of error,
386  * otherwise it is a pointer to the glyph name.
387  *
388  * You must not modify the returned string!
389  *
390  * @output:
391  * FreeType error code. 0 means success.
392  */
393  typedef FT_Error
395  FT_UInt idx,
396  FT_String** PSname );
397 
398 
399  /**************************************************************************
400  *
401  * @functype:
402  * TT_Load_Metrics_Func
403  *
404  * @description:
405  * Load a metrics table, which is a table with a horizontal and a
406  * vertical version.
407  *
408  * @input:
409  * face ::
410  * A handle to the target face object.
411  *
412  * stream ::
413  * The input stream.
414  *
415  * vertical ::
416  * A boolean flag. If set, load the vertical one.
417  *
418  * @return:
419  * FreeType error code. 0 means success.
420  */
421  typedef FT_Error
424  FT_Bool vertical );
425 
426 
427  /**************************************************************************
428  *
429  * @functype:
430  * TT_Get_Metrics_Func
431  *
432  * @description:
433  * Load the horizontal or vertical header in a face object.
434  *
435  * @input:
436  * face ::
437  * A handle to the target face object.
438  *
439  * vertical ::
440  * A boolean flag. If set, load vertical metrics.
441  *
442  * gindex ::
443  * The glyph index.
444  *
445  * @output:
446  * abearing ::
447  * The horizontal (or vertical) bearing. Set to zero in case of error.
448  *
449  * aadvance ::
450  * The horizontal (or vertical) advance. Set to zero in case of error.
451  */
452  typedef void
454  FT_Bool vertical,
455  FT_UInt gindex,
456  FT_Short* abearing,
457  FT_UShort* aadvance );
458 
459 
460  /**************************************************************************
461  *
462  * @functype:
463  * TT_Set_Palette_Func
464  *
465  * @description:
466  * Load the colors into `face->palette` for a given palette index.
467  *
468  * @input:
469  * face ::
470  * The target face object.
471  *
472  * idx ::
473  * The palette index.
474  *
475  * @return:
476  * FreeType error code. 0 means success.
477  */
478  typedef FT_Error
480  FT_UInt idx );
481 
482 
483  /**************************************************************************
484  *
485  * @functype:
486  * TT_Get_Colr_Layer_Func
487  *
488  * @description:
489  * Iteratively get the color layer data of a given glyph index.
490  *
491  * @input:
492  * face ::
493  * The target face object.
494  *
495  * base_glyph ::
496  * The glyph index the colored glyph layers are associated with.
497  *
498  * @inout:
499  * iterator ::
500  * An @FT_LayerIterator object. For the first call you should set
501  * `iterator->p` to `NULL`. For all following calls, simply use the
502  * same object again.
503  *
504  * @output:
505  * aglyph_index ::
506  * The glyph index of the current layer.
507  *
508  * acolor_index ::
509  * The color index into the font face's color palette of the current
510  * layer. The value 0xFFFF is special; it doesn't reference a palette
511  * entry but indicates that the text foreground color should be used
512  * instead (to be set up by the application outside of FreeType).
513  *
514  * @return:
515  * Value~1 if everything is OK. If there are no more layers (or if there
516  * are no layers at all), value~0 gets returned. In case of an error,
517  * value~0 is returned also.
518  */
519  typedef FT_Bool
521  FT_UInt base_glyph,
522  FT_UInt *aglyph_index,
523  FT_UInt *acolor_index,
524  FT_LayerIterator* iterator );
525 
526 
527  /**************************************************************************
528  *
529  * @functype:
530  * TT_Blend_Colr_Func
531  *
532  * @description:
533  * Blend the bitmap in `new_glyph` into `base_glyph` using the color
534  * specified by `color_index`. If `color_index` is 0xFFFF, use
535  * `face->foreground_color` if `face->have_foreground_color` is set.
536  * Otherwise check `face->palette_data.palette_flags`: If present and
537  * @FT_PALETTE_FOR_DARK_BACKGROUND is set, use BGRA value 0xFFFFFFFF
538  * (white opaque). Otherwise use BGRA value 0x000000FF (black opaque).
539  *
540  * @input:
541  * face ::
542  * The target face object.
543  *
544  * color_index ::
545  * Color index from the COLR table.
546  *
547  * base_glyph ::
548  * Slot for bitmap to be merged into. The underlying bitmap may get
549  * reallocated.
550  *
551  * new_glyph ::
552  * Slot to be incooperated into `base_glyph`.
553  *
554  * @return:
555  * FreeType error code. 0 means success. Returns an error if
556  * color_index is invalid or reallocation fails.
557  */
558  typedef FT_Error
560  FT_UInt color_index,
561  FT_GlyphSlot base_glyph,
563 
564 
565  /**************************************************************************
566  *
567  * @functype:
568  * TT_Get_Name_Func
569  *
570  * @description:
571  * From the 'name' table, return a given ENGLISH name record in ASCII.
572  *
573  * @input:
574  * face ::
575  * A handle to the source face object.
576  *
577  * nameid ::
578  * The name id of the name record to return.
579  *
580  * @inout:
581  * name ::
582  * The address of an allocated string pointer. `NULL` if no name is
583  * present.
584  *
585  * @return:
586  * FreeType error code. 0 means success.
587  */
588  typedef FT_Error
591  FT_String** name );
592 
593 
594  /**************************************************************************
595  *
596  * @functype:
597  * TT_Get_Name_ID_Func
598  *
599  * @description:
600  * Search whether an ENGLISH version for a given name ID is in the 'name'
601  * table.
602  *
603  * @input:
604  * face ::
605  * A handle to the source face object.
606  *
607  * nameid ::
608  * The name id of the name record to return.
609  *
610  * @output:
611  * win ::
612  * If non-negative, an index into the 'name' table with the
613  * corresponding (3,1) or (3,0) Windows entry.
614  *
615  * apple ::
616  * If non-negative, an index into the 'name' table with the
617  * corresponding (1,0) Apple entry.
618  *
619  * @return:
620  * 1 if there is either a win or apple entry (or both), 0 otheriwse.
621  */
622  typedef FT_Bool
625  FT_Int *win,
626  FT_Int *apple );
627 
628 
629  /**************************************************************************
630  *
631  * @functype:
632  * TT_Load_Table_Func
633  *
634  * @description:
635  * Load a given TrueType table.
636  *
637  * @input:
638  * face ::
639  * A handle to the target face object.
640  *
641  * stream ::
642  * The input stream.
643  *
644  * @return:
645  * FreeType error code. 0 means success.
646  *
647  * @note:
648  * The function uses `face->goto_table` to seek the stream to the start
649  * of the table, except while loading the font directory.
650  */
651  typedef FT_Error
653  FT_Stream stream );
654 
655 
656  /**************************************************************************
657  *
658  * @functype:
659  * TT_Free_Table_Func
660  *
661  * @description:
662  * Free a given TrueType table.
663  *
664  * @input:
665  * face ::
666  * A handle to the target face object.
667  */
668  typedef void
670 
671 
672  /*
673  * @functype:
674  * TT_Face_GetKerningFunc
675  *
676  * @description:
677  * Return the horizontal kerning value between two glyphs.
678  *
679  * @input:
680  * face ::
681  * A handle to the source face object.
682  *
683  * left_glyph ::
684  * The left glyph index.
685  *
686  * right_glyph ::
687  * The right glyph index.
688  *
689  * @return:
690  * The kerning value in font units.
691  */
692  typedef FT_Int
696 
697 
698  /**************************************************************************
699  *
700  * @struct:
701  * SFNT_Interface
702  *
703  * @description:
704  * This structure holds pointers to the functions used to load and free
705  * the basic tables that are required in a 'sfnt' font file.
706  *
707  * @fields:
708  * Check the various xxx_Func() descriptions for details.
709  */
710  typedef struct SFNT_Interface_
711  {
713 
718 
720 
721  /* these functions are called by `load_face' but they can also */
722  /* be called from external modules, if there is a need to do so */
729 
732 
733  /* this field was called `load_kerning' up to version 2.1.10 */
735 
738 
739  /* see `ttload.h'; this field was called `load_bitmap_header' up to */
740  /* version 2.1.10 */
742 
744 
745  /* see `ttpost.h' */
748 
749  /* starting here, the structure differs from version 2.1.7 */
750 
751  /* this field was introduced in version 2.1.8, named `get_psname' */
753 
754  /* new elements introduced after version 2.1.10 */
755 
756  /* load the font directory, i.e., the offset table and */
757  /* the table directory */
760 
763 
766 
774 
776 
779 
781 
782 
783  /* transitional */
785 
786 
787 #define FT_DEFINE_SFNT_INTERFACE( \
788  class_, \
789  goto_table_, \
790  init_face_, \
791  load_face_, \
792  done_face_, \
793  get_interface_, \
794  load_any_, \
795  load_head_, \
796  load_hhea_, \
797  load_cmap_, \
798  load_maxp_, \
799  load_os2_, \
800  load_post_, \
801  load_name_, \
802  free_name_, \
803  load_kern_, \
804  load_gasp_, \
805  load_pclt_, \
806  load_bhed_, \
807  load_sbit_image_, \
808  get_psname_, \
809  free_psnames_, \
810  get_kerning_, \
811  load_font_dir_, \
812  load_hmtx_, \
813  load_eblc_, \
814  free_eblc_, \
815  set_sbit_strike_, \
816  load_strike_metrics_, \
817  load_cpal_, \
818  load_colr_, \
819  free_cpal_, \
820  free_colr_, \
821  set_palette_, \
822  get_colr_layer_, \
823  colr_blend_, \
824  get_metrics_, \
825  get_name_, \
826  get_name_id_ ) \
827  static const SFNT_Interface class_ = \
828  { \
829  goto_table_, \
830  init_face_, \
831  load_face_, \
832  done_face_, \
833  get_interface_, \
834  load_any_, \
835  load_head_, \
836  load_hhea_, \
837  load_cmap_, \
838  load_maxp_, \
839  load_os2_, \
840  load_post_, \
841  load_name_, \
842  free_name_, \
843  load_kern_, \
844  load_gasp_, \
845  load_pclt_, \
846  load_bhed_, \
847  load_sbit_image_, \
848  get_psname_, \
849  free_psnames_, \
850  get_kerning_, \
851  load_font_dir_, \
852  load_hmtx_, \
853  load_eblc_, \
854  free_eblc_, \
855  set_sbit_strike_, \
856  load_strike_metrics_, \
857  load_cpal_, \
858  load_colr_, \
859  free_cpal_, \
860  free_colr_, \
861  set_palette_, \
862  get_colr_layer_, \
863  colr_blend_, \
864  get_metrics_, \
865  get_name_, \
866  get_name_id_ \
867  };
868 
869 
871 
872 #endif /* SFNT_H_ */
873 
874 
875 /* END */
#define name
int params
Definition: definitions.c:42
static void
Definition: fpif.c:118
#define FT_END_HEADER
Definition: ftheader.h:57
FT_Module_Interface(* FT_Module_Requester)(FT_Module module, const char *name)
Definition: ftmodapi.h:187
FT_BEGIN_HEADER typedef unsigned char FT_Bool
Definition: fttypes.h:108
unsigned long FT_ULong
Definition: fttypes.h:253
unsigned char FT_Byte
Definition: fttypes.h:154
int FT_Error
Definition: fttypes.h:299
signed long FT_Long
Definition: fttypes.h:242
unsigned short FT_UShort
Definition: fttypes.h:209
char FT_String
Definition: fttypes.h:187
signed short FT_Short
Definition: fttypes.h:198
unsigned int FT_UInt
Definition: fttypes.h:231
signed int FT_Int
Definition: fttypes.h:220
FT_Error(* TT_Set_SBit_Strike_Func)(TT_Face face, FT_Size_Request req, FT_ULong *astrike_index)
Definition: sfnt.h:338
FT_Int(* TT_Face_GetKerningFunc)(TT_Face face, FT_UInt left_glyph, FT_UInt right_glyph)
Definition: sfnt.h:693
FT_Error(* TT_Load_Metrics_Func)(TT_Face face, FT_Stream stream, FT_Bool vertical)
Definition: sfnt.h:422
FT_Error(* TT_Load_Table_Func)(TT_Face face, FT_Stream stream)
Definition: sfnt.h:652
SFNT_Interface * SFNT_Service
Definition: sfnt.h:784
FT_Error(* TT_Load_Strike_Metrics_Func)(TT_Face face, FT_ULong strike_index, FT_Size_Metrics *metrics)
Definition: sfnt.h:367
FT_Error(* TT_Get_Name_Func)(TT_Face face, FT_UShort nameid, FT_String **name)
Definition: sfnt.h:589
void(* TT_Free_Table_Func)(TT_Face face)
Definition: sfnt.h:669
FT_Bool(* TT_Get_Colr_Layer_Func)(TT_Face face, FT_UInt base_glyph, FT_UInt *aglyph_index, FT_UInt *acolor_index, FT_LayerIterator *iterator)
Definition: sfnt.h:520
void(* TT_Get_Metrics_Func)(TT_Face face, FT_Bool vertical, FT_UInt gindex, FT_Short *abearing, FT_UShort *aadvance)
Definition: sfnt.h:453
FT_Error(* TT_Set_Palette_Func)(TT_Face face, FT_UInt idx)
Definition: sfnt.h:479
void(* TT_Done_Face_Func)(TT_Face face)
Definition: sfnt.h:137
FT_BEGIN_HEADER typedef FT_Error(* TT_Init_Face_Func)(FT_Stream stream, TT_Face face, FT_Int face_index, FT_Int num_params, FT_Parameter *params)
Definition: sfnt.h:72
FT_Error(* TT_Blend_Colr_Func)(TT_Face face, FT_UInt color_index, FT_GlyphSlot base_glyph, FT_GlyphSlot new_glyph)
Definition: sfnt.h:559
FT_Error(* TT_Get_PS_Name_Func)(TT_Face face, FT_UInt idx, FT_String **PSname)
Definition: sfnt.h:394
FT_Bool(* TT_Get_Name_ID_Func)(TT_Face face, FT_UShort nameid, FT_Int *win, FT_Int *apple)
Definition: sfnt.h:623
FT_Error(* TT_Load_SBit_Image_Func)(TT_Face face, FT_ULong strike_index, FT_UInt glyph_index, FT_UInt load_flags, FT_Stream stream, FT_Bitmap *amap, TT_SBit_MetricsRec *ametrics)
Definition: sfnt.h:305
FT_Error(* TT_Load_Any_Func)(TT_Face face, FT_ULong tag, FT_Long offset, FT_Byte *buffer, FT_ULong *length)
Definition: sfnt.h:180
struct SFNT_Interface_ SFNT_Interface
FT_Error(* TT_Find_SBit_Image_Func)(TT_Face face, FT_UInt glyph_index, FT_ULong strike_index, TT_SBit_Range *arange, TT_SBit_Strike *astrike, FT_ULong *aglyph_offset)
Definition: sfnt.h:221
FT_Error(* TT_Load_SBit_Metrics_Func)(FT_Stream stream, TT_SBit_Range range, TT_SBit_Metrics metrics)
Definition: sfnt.h:260
FT_Error(* TT_Load_Face_Func)(FT_Stream stream, TT_Face face, FT_Int face_index, FT_Int num_params, FT_Parameter *params)
Definition: sfnt.h:114
FT_Error(* TT_Loader_GotoTableFunc)(TT_Face face, FT_ULong tag, FT_Stream stream, FT_ULong *length)
Definition: tttypes.h:1028
FT_UInt idx
Definition: cffcmap.c:135
FT_Face face
Definition: cffdrivr.c:659
FT_UInt left_glyph
Definition: ttdriver.c:203
FT_UInt FT_UInt right_glyph
Definition: ttdriver.c:204
#define length(c)
Definition: ctangleboot.c:65
static int offset
Definition: ppmtogif.c:642
struct stream_s stream
Definition: pts_fax.h:93
#define glyph_index()
TT_Free_Table_Func free_eblc
Definition: sfnt.h:762
TT_Get_PS_Name_Func get_psname
Definition: sfnt.h:746
TT_Load_Table_Func load_name
Definition: sfnt.h:730
TT_Free_Table_Func free_name
Definition: sfnt.h:731
TT_Load_Strike_Metrics_Func load_strike_metrics
Definition: sfnt.h:765
TT_Load_Table_Func load_gasp
Definition: sfnt.h:736
TT_Load_Table_Func load_eblc
Definition: sfnt.h:761
TT_Free_Table_Func free_cpal
Definition: sfnt.h:769
TT_Load_Table_Func load_font_dir
Definition: sfnt.h:758
TT_Get_Colr_Layer_Func get_colr_layer
Definition: sfnt.h:772
TT_Get_Metrics_Func get_metrics
Definition: sfnt.h:775
TT_Load_Table_Func load_cmap
Definition: sfnt.h:725
TT_Load_Table_Func load_kern
Definition: sfnt.h:734
TT_Load_Table_Func load_maxp
Definition: sfnt.h:726
TT_Set_Palette_Func set_palette
Definition: sfnt.h:771
TT_Done_Face_Func done_face
Definition: sfnt.h:716
FT_Module_Requester get_interface
Definition: sfnt.h:717
TT_Free_Table_Func free_psnames
Definition: sfnt.h:747
TT_Load_Table_Func load_bhed
Definition: sfnt.h:741
TT_Face_GetKerningFunc get_kerning
Definition: sfnt.h:752
TT_Load_Table_Func load_os2
Definition: sfnt.h:727
TT_Load_Metrics_Func load_hhea
Definition: sfnt.h:724
TT_Load_Any_Func load_any
Definition: sfnt.h:719
TT_Load_Table_Func load_post
Definition: sfnt.h:728
TT_Init_Face_Func init_face
Definition: sfnt.h:714
TT_Blend_Colr_Func colr_blend
Definition: sfnt.h:773
TT_Free_Table_Func free_colr
Definition: sfnt.h:770
TT_Set_SBit_Strike_Func set_sbit_strike
Definition: sfnt.h:764
TT_Load_SBit_Image_Func load_sbit_image
Definition: sfnt.h:743
TT_Load_Face_Func load_face
Definition: sfnt.h:715
TT_Get_Name_ID_Func get_name_id
Definition: sfnt.h:778
TT_Load_Table_Func load_pclt
Definition: sfnt.h:737
TT_Load_Metrics_Func load_hmtx
Definition: sfnt.h:759
TT_Get_Name_Func get_name
Definition: sfnt.h:777
TT_Loader_GotoTableFunc goto_table
Definition: sfnt.h:712
TT_Load_Table_Func load_cpal
Definition: sfnt.h:767
TT_Load_Table_Func load_colr
Definition: sfnt.h:768
TT_Load_Table_Func load_head
Definition: sfnt.h:723
tag int tag
Definition: tex4ht.c:2554
halfword new_glyph(int f, int c)
Definition: texnodes.c:4430
@ range
Definition: preamble.c:52
#define buffer
Definition: xmlparse.c:611