/***************************************************************************/ /* */ /* afindic.c */ /* */ /* Auto-fitter hinting routines for Indic scripts (body). */ /* */ /* Copyright 2007 by */ /* Rahul Bhalerao , . */ /* */ /* 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 AF_UNIRANGE_REC( 0x0100UL, 0xFFFFUL ), /* why this? */ #endif AF_UNIRANGE_REC( 0x0900UL, 0x0DFFUL), /* Indic Range */ AF_UNIRANGE_REC( 0UL, 0UL) }; AF_DEFINE_SCRIPT_CLASS(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 } }; AF_DEFINE_SCRIPT_CLASS(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 */