のねのBlog

パソコンやソフト開発で起きた問題など書きます。よろしくお願いします。

FT_DEFINE_SFNT_INTERFACE

    565 #ifndef FT_CONFIG_OPTION_PIC
    566 
    567 #define FT_DEFINE_SFNT_INTERFACE(        \
    568           class_,                        \
    569           goto_table_,                   \
    570           init_face_,                    \
    571           load_face_,                    \
    572           done_face_,                    \
    573           get_interface_,                \
    574           load_any_,                     \
    575           load_head_,                    \
    576           load_hhea_,                    \
    577           load_cmap_,                    \
    578           load_maxp_,                    \
    579           load_os2_,                     \
    580           load_post_,                    \
    581           load_name_,                    \
    582           free_name_,                    \
    583           load_kern_,                    \
    584           load_gasp_,                    \
    585           load_pclt_,                    \
    586           load_bhed_,                    \
    587           load_sbit_image_,              \
    588           get_psname_,                   \
    589           free_psnames_,                 \
    590           get_kerning_,                  \
    591           load_font_dir_,                \
    592           load_hmtx_,                    \
    593           load_eblc_,                    \
    594           free_eblc_,                    \
    595           set_sbit_strike_,              \
    596           load_strike_metrics_,          \
    597           get_metrics_ )                 \

    598   static const SFNT_Interface  class_ =  \
    599   {                                      \
    600     goto_table_,                         \
    601     init_face_,                          \
    602     load_face_,                          \
    603     done_face_,                          \
    604     get_interface_,                      \
    605     load_any_,                           \
    606     load_head_,                          \
    607     load_hhea_,                          \
    608     load_cmap_,                          \
    609     load_maxp_,                          \
    610     load_os2_,                           \
    611     load_post_,                          \
    612     load_name_,                          \
    613     free_name_,                          \
    614     load_kern_,                          \
    615     load_gasp_,                          \
    616     load_pclt_,                          \
    617     load_bhed_,                          \
    618     load_sbit_image_,                    \
    619     get_psname_,                         \
    620     free_psnames_,                       \
    621     get_kerning_,                        \
    622     load_font_dir_,                      \
    623     load_hmtx_,                          \
    624     load_eblc_,                          \
    625     free_eblc_,                          \
    626     set_sbit_strike_,                    \
    627     load_strike_metrics_,                \
    628     get_metrics_,                        \
    629   };
    630 


    631 #else /* FT_CONFIG_OPTION_PIC */
    632 
    633 #define FT_INTERNAL( a, a_ )  \
    634           clazz->a = a_;
    635 
    636 #define FT_DEFINE_SFNT_INTERFACE(                       \
    637           class_,                                       \
    638           goto_table_,                                  \
    639           init_face_,                                   \
    640           load_face_,                                   \
    641           done_face_,                                   \
    642           get_interface_,                               \
    643           load_any_,                                    \
    644           load_head_,                                   \
    645           load_hhea_,                                   \
    646           load_cmap_,                                   \
    647           load_maxp_,                                   \
    648           load_os2_,                                    \
    649           load_post_,                                   \
    650           load_name_,                                   \
    651           free_name_,                                   \
    652           load_kern_,                                   \
    653           load_gasp_,                                   \
    654           load_pclt_,                                   \
    655           load_bhed_,                                   \
    656           load_sbit_image_,                             \
    657           get_psname_,                                  \
    658           free_psnames_,                                \
    659           get_kerning_,                                 \
    660           load_font_dir_,                               \
    661           load_hmtx_,                                   \
    662           load_eblc_,                                   \
    663           free_eblc_,                                   \
    664           set_sbit_strike_,                             \
    665           load_strike_metrics_,                         \
    666           get_metrics_ )                                \
    667   void                                                  \
    668   FT_Init_Class_ ## class_( FT_Library       library,   \
    669                             SFNT_Interface*  clazz )    \
    670   {                                                     \
    671     FT_UNUSED( library );                               \
    672                                                         \
    673     clazz->goto_table          = goto_table_;           \
    674     clazz->init_face           = init_face_;            \
    675     clazz->load_face           = load_face_;            \
    676     clazz->done_face           = done_face_;            \
    677     clazz->get_interface       = get_interface_;        \
    678     clazz->load_any            = load_any_;             \
    679     clazz->load_head           = load_head_;            \
    680     clazz->load_hhea           = load_hhea_;            \
    681     clazz->load_cmap           = load_cmap_;            \
    682     clazz->load_maxp           = load_maxp_;            \
    683     clazz->load_os2            = load_os2_;             \
    684     clazz->load_post           = load_post_;            \
    685     clazz->load_name           = load_name_;            \
    686     clazz->free_name           = free_name_;            \
    687     clazz->load_kern           = load_kern_;            \
    688     clazz->load_gasp           = load_gasp_;            \
    689     clazz->load_pclt           = load_pclt_;            \
    690     clazz->load_bhed           = load_bhed_;            \
    691     clazz->load_sbit_image     = load_sbit_image_;      \
    692     clazz->get_psname          = get_psname_;           \
    693     clazz->free_psnames        = free_psnames_;         \
    694     clazz->get_kerning         = get_kerning_;          \
    695     clazz->load_font_dir       = load_font_dir_;        \
    696     clazz->load_hmtx           = load_hmtx_;            \
    697     clazz->load_eblc           = load_eblc_;            \
    698     clazz->free_eblc           = free_eblc_;            \
    699     clazz->set_sbit_strike     = set_sbit_strike_;      \
    700     clazz->load_strike_metrics = load_strike_metrics_;  \
    701     clazz->get_metrics         = get_metrics_;          \
    702   }
    703 
    704 #endif /* FT_CONFIG_OPTION_PIC */