ref: cbab53c260dd5277e62ca2d52af5665484bddb2d
dir: /src/autofit/afindic.c/
/***************************************************************************/ /* */ /* afindic.c */ /* */ /* Auto-fitter hinting routines for Indic scripts (body). */ /* */ /* Copyright 2007 by */ /* Rahul Bhalerao <[email protected]>, <[email protected]>. */ /* */ /* This file is part of the FreeType project, and may only be used, */ /* modified, and distributed under the terms of the FreeType project */ /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ /* this file you indicate that you have read the license and */ /* understand and accept it fully. */ /* */ /***************************************************************************/ #include "aftypes.h" #include "aflatin.h" #ifdef AF_CONFIG_OPTION_INDIC #include "afindic.h" #include "aferrors.h" #include "afcjk.h" #ifdef AF_USE_WARPER #include "afwarp.h" #endif static FT_Error af_indic_metrics_init( AF_LatinMetrics metrics, FT_Face face ) { /* use CJK routines */ return af_cjk_metrics_init( metrics, face ); } static void af_indic_metrics_scale( AF_LatinMetrics metrics, AF_Scaler scaler ) { /* use CJK routines */ af_cjk_metrics_scale( metrics, scaler ); } static FT_Error af_indic_hints_init( AF_GlyphHints hints, AF_LatinMetrics metrics ) { /* use CJK routines */ return af_cjk_hints_init( hints, metrics ); } static FT_Error af_indic_hints_apply( AF_GlyphHints hints, FT_Outline* outline, AF_LatinMetrics metrics) { /* use CJK routines */ return af_cjk_hints_apply( hints, outline, metrics ); } /*************************************************************************/ /*************************************************************************/ /***** *****/ /***** I N D I C S C R I P T C L A S S *****/ /***** *****/ /*************************************************************************/ /*************************************************************************/ static const AF_Script_UniRangeRec af_indic_uniranges[] = { #if 0 { 0x0100, 0xFFFF }, /* why this? */ #endif { 0x0900, 0x0DFF}, /* Indic Range */ { 0, 0 } }; FT_CALLBACK_TABLE_DEF const AF_ScriptClassRec af_indic_script_class = { AF_SCRIPT_INDIC, af_indic_uniranges, sizeof( AF_LatinMetricsRec ), (AF_Script_InitMetricsFunc) af_indic_metrics_init, (AF_Script_ScaleMetricsFunc)af_indic_metrics_scale, (AF_Script_DoneMetricsFunc) NULL, (AF_Script_InitHintsFunc) af_indic_hints_init, (AF_Script_ApplyHintsFunc) af_indic_hints_apply }; #else /* !AF_CONFIG_OPTION_INDIC */ static const AF_Script_UniRangeRec af_indic_uniranges[] = { { 0, 0 } }; FT_CALLBACK_TABLE_DEF const AF_ScriptClassRec af_indic_script_class = { AF_SCRIPT_INDIC, af_indic_uniranges, sizeof( AF_LatinMetricsRec ), (AF_Script_InitMetricsFunc) NULL, (AF_Script_ScaleMetricsFunc)NULL, (AF_Script_DoneMetricsFunc) NULL, (AF_Script_InitHintsFunc) NULL, (AF_Script_ApplyHintsFunc) NULL }; #endif /* !AF_CONFIG_OPTION_INDIC */ /* END */