Ejemplo n.º 1
0
  /* XXX Check base character ranges again:                        */
  /*     Right now, they are quickly derived by visual inspection. */
  /*     I can imagine that fine-tuning is necessary.              */

  /* for the auto-hinter, a `non-base character' is something that should */
  /* not be affected by blue zones, regardless of whether this is a       */
  /* spacing or no-spacing glyph                                          */

  /* the `ta_xxxx_nonbase_uniranges' ranges must be strict subsets */
  /* of the corresponding `ta_xxxx_uniranges' ranges               */


  const AF_Script_UniRangeRec  af_arab_uniranges[] =
  {
    AF_UNIRANGE_REC(  0x0600UL,  0x06FFUL ),  /* Arabic                                 */
    AF_UNIRANGE_REC(  0x0750UL,  0x07FFUL ),  /* Arabic Supplement                      */
    AF_UNIRANGE_REC(  0x08A0UL,  0x08FFUL ),  /* Arabic Extended-A                      */
    AF_UNIRANGE_REC(  0xFB50UL,  0xFDFFUL ),  /* Arabic Presentation Forms-A            */
    AF_UNIRANGE_REC(  0xFE70UL,  0xFEFFUL ),  /* Arabic Presentation Forms-B            */
    AF_UNIRANGE_REC( 0x1EE00UL, 0x1EEFFUL ),  /* Arabic Mathematical Alphabetic Symbols */
    AF_UNIRANGE_REC(       0UL,       0UL )
  };

  const AF_Script_UniRangeRec  af_arab_nonbase_uniranges[] =
  {
    AF_UNIRANGE_REC(  0x0600UL,  0x0605UL ),
    AF_UNIRANGE_REC(  0x0610UL,  0x061AUL ),
    AF_UNIRANGE_REC(  0x064BUL,  0x065FUL ),
    AF_UNIRANGE_REC(  0x0670UL,  0x0670UL ),
    AF_UNIRANGE_REC(  0x06D6UL,  0x06DCUL ),
Ejemplo n.º 2
0
  }


  /*************************************************************************/
  /*************************************************************************/
  /*****                                                               *****/
  /*****                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,
Ejemplo n.º 3
0
  }


  /*************************************************************************/
  /*************************************************************************/
  /*****                                                               *****/
  /*****                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( 0x0F00UL, 0x0FFFUL),    /* Tibetan */
    AF_UNIRANGE_REC( 0x1900UL, 0x194FUL),    /* Limbu */
    AF_UNIRANGE_REC( 0x1B80UL, 0x1BBFUL),    /* Sundanese */
    AF_UNIRANGE_REC( 0x1C80UL, 0x1CDFUL),    /* Meetei Mayak */
    AF_UNIRANGE_REC( 0xA800UL, 0xA82FUL),    /* Syloti Nagri */
    AF_UNIRANGE_REC( 0x11800UL, 0x118DFUL),  /* Sharada */
    AF_UNIRANGE_REC(      0UL,      0UL)
  };


  AF_DEFINE_SCRIPT_CLASS( af_indic_script_class,
    AF_SCRIPT_INDIC,
    af_indic_uniranges,
Ejemplo n.º 4
0
/*                                                                         */
/*  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 "afranges.h"


  const AF_Script_UniRangeRec  af_cyrl_uniranges[] =
  {
    AF_UNIRANGE_REC(  0x0400UL,  0x04FFUL ),  /* Cyrillic            */
    AF_UNIRANGE_REC(  0x0500UL,  0x052FUL ),  /* Cyrillic Supplement */
    AF_UNIRANGE_REC(  0x2DE0UL,  0x2DFFUL ),  /* Cyrillic Extended-A */
    AF_UNIRANGE_REC(  0xA640UL,  0xA69FUL ),  /* Cyrillic Extended-B */
    AF_UNIRANGE_REC(       0UL,       0UL )
  };

  const AF_Script_UniRangeRec  af_deva_uniranges[] =
  {
    AF_UNIRANGE_REC(  0x0900UL,  0x097FUL ),  /* Devanagari       */
    AF_UNIRANGE_REC(  0x20B9UL,  0x20B9UL ),  /* (new) Rupee sign */
    AF_UNIRANGE_REC(       0UL,       0UL )
  };

  const AF_Script_UniRangeRec  af_grek_uniranges[] =
  {
Ejemplo n.º 5
0
}


/*************************************************************************/
/*************************************************************************/
/*****                                                               *****/
/*****                C J K   S C R I P T   C L A S S                *****/
/*****                                                               *****/
/*************************************************************************/
/*************************************************************************/


static const AF_Script_UniRangeRec af_cjk_uniranges[] =
{
#if 0
    AF_UNIRANGE_REC(0x0100UL,  0xFFFFUL),     /* why this? */
#endif
    AF_UNIRANGE_REC(0x2E80UL,  0x2EFFUL),     /* CJK Radicals Supplement                 */
    AF_UNIRANGE_REC(0x2F00UL,  0x2FDFUL),     /* Kangxi Radicals                         */
    AF_UNIRANGE_REC(0x3000UL,  0x303FUL),     /* CJK Symbols and Punctuation             */
    AF_UNIRANGE_REC(0x3040UL,  0x309FUL),     /* Hiragana                                */
    AF_UNIRANGE_REC(0x30A0UL,  0x30FFUL),     /* Katakana                                */
    AF_UNIRANGE_REC(0x3100UL,  0x312FUL),     /* Bopomofo                                */
    AF_UNIRANGE_REC(0x3130UL,  0x318FUL),     /* Hangul Compatibility Jamo               */
    AF_UNIRANGE_REC(0x31A0UL,  0x31BFUL),     /* Bopomofo Extended                       */
    AF_UNIRANGE_REC(0x31C0UL,  0x31EFUL),     /* CJK Strokes                             */
    AF_UNIRANGE_REC(0x31F0UL,  0x31FFUL),     /* Katakana Phonetic Extensions            */
    AF_UNIRANGE_REC(0x3200UL,  0x32FFUL),     /* Enclosed CJK Letters and Months         */
    AF_UNIRANGE_REC(0x3300UL,  0x33FFUL),     /* CJK Compatibility                       */
    AF_UNIRANGE_REC(0x3400UL,  0x4DBFUL),     /* CJK Unified Ideographs Extension A      */
    AF_UNIRANGE_REC(0x4DC0UL,  0x4DFFUL),     /* Yijing Hexagram Symbols                 */
Ejemplo n.º 6
0
  /* XXX Check base character ranges again:                        */
  /*     Right now, they are quickly derived by visual inspection. */
  /*     I can imagine that fine-tuning is necessary.              */

  /* for the auto-hinter, a `non-base character' is something that should */
  /* not be affected by blue zones, regardless of whether this is a       */
  /* spacing or no-spacing glyph                                          */

  /* the `ta_xxxx_nonbase_uniranges' ranges must be strict subsets */
  /* of the corresponding `ta_xxxx_uniranges' ranges               */


  const AF_Script_UniRangeRec  af_arab_uniranges[] =
  {
    AF_UNIRANGE_REC(  0x0600,  0x06FF ),  /* Arabic                                 */
    AF_UNIRANGE_REC(  0x0750,  0x07FF ),  /* Arabic Supplement                      */
    AF_UNIRANGE_REC(  0x08A0,  0x08FF ),  /* Arabic Extended-A                      */
    AF_UNIRANGE_REC(  0xFB50,  0xFDFF ),  /* Arabic Presentation Forms-A            */
    AF_UNIRANGE_REC(  0xFE70,  0xFEFF ),  /* Arabic Presentation Forms-B            */
    AF_UNIRANGE_REC( 0x1EE00, 0x1EEFF ),  /* Arabic Mathematical Alphabetic Symbols */
    AF_UNIRANGE_REC(       0,       0 )
  };

  const AF_Script_UniRangeRec  af_arab_nonbase_uniranges[] =
  {
    AF_UNIRANGE_REC(  0x0600,  0x0605 ),
    AF_UNIRANGE_REC(  0x0610,  0x061A ),
    AF_UNIRANGE_REC(  0x064B,  0x065F ),
    AF_UNIRANGE_REC(  0x0670,  0x0670 ),
    AF_UNIRANGE_REC(  0x06D6,  0x06DC ),