ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

afindic.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.