ReactOS 0.4.16-dev-1020-gf135cab
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-2019 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 <ft2build.h>
24#include FT_INTERNAL_DRIVER_H
25#include FT_INTERNAL_TRUETYPE_TYPES_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
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
116 FT_Int face_index,
117 FT_Int num_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
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
222 FT_UInt glyph_index,
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,
307 FT_UInt glyph_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,
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,
562 FT_GlyphSlot new_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
590 FT_UShort nameid,
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
624 FT_UShort nameid,
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
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 */
WORD face[3]
Definition: mesh.c:4747
unsigned int idx
Definition: utils.c:41
#define FT_END_HEADER
Definition: ftheader.h:54
#define FT_BEGIN_HEADER
Definition: ftheader.h:36
FT_Module_Interface(* FT_Module_Requester)(FT_Module module, const char *name)
Definition: ftmodapi.h:188
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
GLuint buffer
Definition: glext.h:5915
GLintptr offset
Definition: glext.h:5920
GLsizei GLenum const GLvoid GLuint GLsizei GLfloat * metrics
Definition: glext.h:11745
GLenum GLint * range
Definition: glext.h:7539
GLenum const GLfloat * params
Definition: glext.h:5645
GLuint GLsizei GLsizei * length
Definition: glext.h:6040
static real win[4][36]
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
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
Definition: name.c:39
Definition: parse.h:23
Definition: ecma_167.h:138
FT_UInt left_glyph
Definition: ttdriver.c:204
FT_UInt FT_UInt right_glyph
Definition: ttdriver.c:205
FT_Error(* TT_Loader_GotoTableFunc)(TT_Face face, FT_ULong tag, FT_Stream stream, FT_ULong *length)
Definition: tttypes.h:1104