hb-unicode-private.hh revision acdba3f90b232fc12fcb200dca2584481b339118
15c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod/* 25c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod * Copyright (C) 2009 Red Hat, Inc. 35c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod * 4c755cb3e3ac55156d0d2ec05adea7a650b97cc41Behdad Esfahbod * This is part of HarfBuzz, a text shaping library. 55c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod * 65c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod * Permission is hereby granted, without written agreement and without 75c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod * license or royalty fees, to use, copy, modify, and distribute this 85c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod * software and its documentation for any purpose, provided that the 95c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod * above copyright notice and the following two paragraphs appear in 105c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod * all copies of this software. 115c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod * 125c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR 135c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES 145c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN 155c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH 165c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod * DAMAGE. 175c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod * 185c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, 195c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND 205c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS 215c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO 225c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. 235c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod * 245c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod * Red Hat Author(s): Behdad Esfahbod 255c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod */ 265c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod 275c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod#ifndef HB_UNICODE_PRIVATE_H 285c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod#define HB_UNICODE_PRIVATE_H 295c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod 305c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod#include "hb-private.h" 315c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod 325c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod#include "hb-unicode.h" 335c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod 345c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad EsfahbodHB_BEGIN_DECLS 355c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod 36acdba3f90b232fc12fcb200dca2584481b339118Behdad Esfahbod 375c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod/* 385c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod * hb_unicode_funcs_t 395c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod */ 405c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod 415c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbodstruct _hb_unicode_funcs_t { 425c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod hb_reference_count_t ref_count; 435c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod 44eb27ec0cef0d92740875ab5035b53acc639e5faeBehdad Esfahbod hb_bool_t immutable; 45eb27ec0cef0d92740875ab5035b53acc639e5faeBehdad Esfahbod 46bf36a1074ab23abeab0a7a6c47db26770dc1ab0aBehdad Esfahbod struct { 47bf36a1074ab23abeab0a7a6c47db26770dc1ab0aBehdad Esfahbod hb_unicode_get_general_category_func_t get_general_category; 48bf36a1074ab23abeab0a7a6c47db26770dc1ab0aBehdad Esfahbod hb_unicode_get_combining_class_func_t get_combining_class; 49bf36a1074ab23abeab0a7a6c47db26770dc1ab0aBehdad Esfahbod hb_unicode_get_mirroring_func_t get_mirroring; 50bf36a1074ab23abeab0a7a6c47db26770dc1ab0aBehdad Esfahbod hb_unicode_get_script_func_t get_script; 51bf36a1074ab23abeab0a7a6c47db26770dc1ab0aBehdad Esfahbod hb_unicode_get_eastasian_width_func_t get_eastasian_width; 52bf36a1074ab23abeab0a7a6c47db26770dc1ab0aBehdad Esfahbod } v; 535c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod}; 545c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod 55357d0f29c431b842179ee4b56c21bcc402178ce7Behdad Esfahbodextern HB_INTERNAL hb_unicode_funcs_t _hb_unicode_funcs_nil; 56af9e104028b7cdc1fbba0eb1d86cfa4d5258657fBehdad Esfahbod 57ff44f88df2c46920f3ec2384ef321a4c7bb0f6efBehdad Esfahbod 58ff44f88df2c46920f3ec2384ef321a4c7bb0f6efBehdad EsfahbodHB_INTERNAL hb_direction_t 59ff44f88df2c46920f3ec2384ef321a4c7bb0f6efBehdad Esfahbod_hb_script_get_horizontal_direction (hb_script_t script); 60ff44f88df2c46920f3ec2384ef321a4c7bb0f6efBehdad Esfahbod 61ff44f88df2c46920f3ec2384ef321a4c7bb0f6efBehdad Esfahbod 625c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad EsfahbodHB_END_DECLS 635c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod 645c44188455ca1b696aa24b20c3a83877dfae2fb2Behdad Esfahbod#endif /* HB_UNICODE_PRIVATE_H */ 65