Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenafindic.c
Go to the documentation of this file.
00001 /***************************************************************************/ 00002 /* */ 00003 /* afindic.c */ 00004 /* */ 00005 /* Auto-fitter hinting routines for Indic scripts (body). */ 00006 /* */ 00007 /* Copyright 2007 by */ 00008 /* Rahul Bhalerao <rahul.bhalerao@redhat.com>, <b.rahul.pm@gmail.com>. */ 00009 /* */ 00010 /* This file is part of the FreeType project, and may only be used, */ 00011 /* modified, and distributed under the terms of the FreeType project */ 00012 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ 00013 /* this file you indicate that you have read the license and */ 00014 /* understand and accept it fully. */ 00015 /* */ 00016 /***************************************************************************/ 00017 00018 00019 #include "aftypes.h" 00020 #include "aflatin.h" 00021 00022 00023 #ifdef AF_CONFIG_OPTION_INDIC 00024 00025 #include "afindic.h" 00026 #include "aferrors.h" 00027 #include "afcjk.h" 00028 00029 00030 #ifdef AF_USE_WARPER 00031 #include "afwarp.h" 00032 #endif 00033 00034 00035 static FT_Error 00036 af_indic_metrics_init( AF_LatinMetrics metrics, 00037 FT_Face face ) 00038 { 00039 /* use CJK routines */ 00040 return af_cjk_metrics_init( metrics, face ); 00041 } 00042 00043 00044 static void 00045 af_indic_metrics_scale( AF_LatinMetrics metrics, 00046 AF_Scaler scaler ) 00047 { 00048 /* use CJK routines */ 00049 af_cjk_metrics_scale( metrics, scaler ); 00050 } 00051 00052 00053 static FT_Error 00054 af_indic_hints_init( AF_GlyphHints hints, 00055 AF_LatinMetrics metrics ) 00056 { 00057 /* use CJK routines */ 00058 return af_cjk_hints_init( hints, metrics ); 00059 } 00060 00061 00062 static FT_Error 00063 af_indic_hints_apply( AF_GlyphHints hints, 00064 FT_Outline* outline, 00065 AF_LatinMetrics metrics) 00066 { 00067 /* use CJK routines */ 00068 return af_cjk_hints_apply( hints, outline, metrics ); 00069 } 00070 00071 00072 /*************************************************************************/ 00073 /*************************************************************************/ 00074 /***** *****/ 00075 /***** I N D I C S C R I P T C L A S S *****/ 00076 /***** *****/ 00077 /*************************************************************************/ 00078 /*************************************************************************/ 00079 00080 00081 static const AF_Script_UniRangeRec af_indic_uniranges[] = 00082 { 00083 #if 0 00084 AF_UNIRANGE_REC( 0x0100UL, 0xFFFFUL ), /* why this? */ 00085 #endif 00086 AF_UNIRANGE_REC( 0x0900UL, 0x0DFFUL), /* Indic Range */ 00087 AF_UNIRANGE_REC( 0UL, 0UL) 00088 }; 00089 00090 00091 AF_DEFINE_SCRIPT_CLASS(af_indic_script_class, 00092 AF_SCRIPT_INDIC, 00093 af_indic_uniranges, 00094 00095 sizeof( AF_LatinMetricsRec ), 00096 00097 (AF_Script_InitMetricsFunc) af_indic_metrics_init, 00098 (AF_Script_ScaleMetricsFunc)af_indic_metrics_scale, 00099 (AF_Script_DoneMetricsFunc) NULL, 00100 00101 (AF_Script_InitHintsFunc) af_indic_hints_init, 00102 (AF_Script_ApplyHintsFunc) af_indic_hints_apply 00103 ) 00104 00105 #else /* !AF_CONFIG_OPTION_INDIC */ 00106 00107 static const AF_Script_UniRangeRec af_indic_uniranges[] = 00108 { 00109 { 0, 0 } 00110 }; 00111 00112 00113 AF_DEFINE_SCRIPT_CLASS(af_indic_script_class, 00114 AF_SCRIPT_INDIC, 00115 af_indic_uniranges, 00116 00117 sizeof( AF_LatinMetricsRec ), 00118 00119 (AF_Script_InitMetricsFunc) NULL, 00120 (AF_Script_ScaleMetricsFunc)NULL, 00121 (AF_Script_DoneMetricsFunc) NULL, 00122 00123 (AF_Script_InitHintsFunc) NULL, 00124 (AF_Script_ApplyHintsFunc) NULL 00125 ) 00126 00127 #endif /* !AF_CONFIG_OPTION_INDIC */ 00128 00129 00130 /* END */ Generated on Sun May 27 2012 04:33:33 for ReactOS by
1.7.6.1
|