1049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/***************************************************************************/ 2049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* */ 3049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* svbdf.h */ 4049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* */ 5049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* The FreeType BDF services (specification). */ 6049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* */ 7a2527749993cb7f25560e4b1266787f1874435d4Jungshik Shin/* Copyright 2003-2017 by */ 8049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* David Turner, Robert Wilhelm, and Werner Lemberg. */ 9049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* */ 10049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* This file is part of the FreeType project, and may only be used, */ 11049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* modified, and distributed under the terms of the FreeType project */ 12049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ 13049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* this file you indicate that you have read the license and */ 14049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* understand and accept it fully. */ 15049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* */ 16049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/***************************************************************************/ 17049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 18049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 19055aee28cedc3631434b2636fc6093c0d4d818abJungshik Shin#ifndef SVBDF_H_ 20055aee28cedc3631434b2636fc6093c0d4d818abJungshik Shin#define SVBDF_H_ 21049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 22049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#include FT_BDF_H 23049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#include FT_INTERNAL_SERVICE_H 24049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 25049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 26049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source ProjectFT_BEGIN_HEADER 27049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 28049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 29049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define FT_SERVICE_ID_BDF "bdf" 30049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 31049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef FT_Error 32049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project (*FT_BDF_GetCharsetIdFunc)( FT_Face face, 33049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project const char* *acharset_encoding, 34049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project const char* *acharset_registry ); 35049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 36049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef FT_Error 37049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project (*FT_BDF_GetPropertyFunc)( FT_Face face, 38049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project const char* prop_name, 39049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project BDF_PropertyRec *aproperty ); 40049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 41049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 42049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_DEFINE_SERVICE( BDF ) 43049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project { 44049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_BDF_GetCharsetIdFunc get_charset_id; 45049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_BDF_GetPropertyFunc get_property; 46049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project }; 47049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 4841371e1e39c8528eb0c4bc40683c736e6683e60cEric Vannier 49295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner#ifndef FT_CONFIG_OPTION_PIC 50295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner 5141371e1e39c8528eb0c4bc40683c736e6683e60cEric Vannier#define FT_DEFINE_SERVICE_BDFRec( class_, \ 5241371e1e39c8528eb0c4bc40683c736e6683e60cEric Vannier get_charset_id_, \ 5341371e1e39c8528eb0c4bc40683c736e6683e60cEric Vannier get_property_ ) \ 5441371e1e39c8528eb0c4bc40683c736e6683e60cEric Vannier static const FT_Service_BDFRec class_ = \ 55295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner { \ 56295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner get_charset_id_, get_property_ \ 57295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner }; 58295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner 5941371e1e39c8528eb0c4bc40683c736e6683e60cEric Vannier#else /* FT_CONFIG_OPTION_PIC */ 60295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner 6141371e1e39c8528eb0c4bc40683c736e6683e60cEric Vannier#define FT_DEFINE_SERVICE_BDFRec( class_, \ 6241371e1e39c8528eb0c4bc40683c736e6683e60cEric Vannier get_charset_id_, \ 6341371e1e39c8528eb0c4bc40683c736e6683e60cEric Vannier get_property_ ) \ 64295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner void \ 6541371e1e39c8528eb0c4bc40683c736e6683e60cEric Vannier FT_Init_Class_ ## class_( FT_Service_BDFRec* clazz ) \ 66295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner { \ 67295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner clazz->get_charset_id = get_charset_id_; \ 6841371e1e39c8528eb0c4bc40683c736e6683e60cEric Vannier clazz->get_property = get_property_; \ 6941371e1e39c8528eb0c4bc40683c736e6683e60cEric Vannier } 70295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner 7141371e1e39c8528eb0c4bc40683c736e6683e60cEric Vannier#endif /* FT_CONFIG_OPTION_PIC */ 72295ffce55e0198e7a9f7d46b33f5c2b4147bf821David 'Digit' Turner 73049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 74049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 75049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 76049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source ProjectFT_END_HEADER 77049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 78049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 79055aee28cedc3631434b2636fc6093c0d4d818abJungshik Shin#endif /* SVBDF_H_ */ 80049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 81049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 82049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* END */ 83