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

shape.c File Reference
#include <stdarg.h>
#include <stdlib.h>
#include "windef.h"
#include "winbase.h"
#include "wingdi.h"
#include "winuser.h"
#include "winnls.h"
#include "usp10.h"
#include "winternl.h"
#include "usp10_internal.h"
#include "wine/debug.h"

Go to the source code of this file.

Data Structures

struct  VowelComponents
struct  ConsonantComponents
struct  ScriptShapeData

Defines

#define FIRST_ARABIC_CHAR   0x0600
#define LAST_ARABIC_CHAR   0x06ff
#define ALAPH   0x710
#define DALATH   0x715
#define RISH   0x72A
#define phags_pa_CANDRABINDU   0xA873
#define phags_pa_START   0xA840
#define phags_pa_END   0xA87F

Typedefs

typedef VOID(* ContextualShapingProc )(HDC, ScriptCache *, SCRIPT_ANALYSIS *, WCHAR *, INT, WORD *, INT *, INT, WORD *)
typedef VOID(* ShapeCharGlyphPropProc )(HDC, ScriptCache *, SCRIPT_ANALYSIS *, const WCHAR *, const INT, const WORD *, const INT, WORD *, SCRIPT_CHARPROP *, SCRIPT_GLYPHPROP *)
typedef void(* second_reorder_function )(LPWSTR pwChar, IndicSyllable *syllable, WORD *pwGlyphs, IndicSyllable *glyph_index, lexical_function lex)

Enumerations

enum  joining_types {
  jtU, jtT, jtR, jtL,
  jtD, jtC
}
enum  joined_forms {
  Xn = 0, Xr, Xl, Xm,
  Afj, Afn, Afx
}

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (uniscribe)
static void ContextualShape_Arabic (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WCHAR *pwcChars, INT cChars, WORD *pwOutGlyphs, INT *pcGlyphs, INT cMaxGlyphs, WORD *pwLogClust)
static void ContextualShape_Syriac (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WCHAR *pwcChars, INT cChars, WORD *pwOutGlyphs, INT *pcGlyphs, INT cMaxGlyphs, WORD *pwLogClust)
static void ContextualShape_Phags_pa (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WCHAR *pwcChars, INT cChars, WORD *pwOutGlyphs, INT *pcGlyphs, INT cMaxGlyphs, WORD *pwLogClust)
static void ContextualShape_Sinhala (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WCHAR *pwcChars, INT cChars, WORD *pwOutGlyphs, INT *pcGlyphs, INT cMaxGlyphs, WORD *pwLogClust)
static void ContextualShape_Devanagari (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WCHAR *pwcChars, INT cChars, WORD *pwOutGlyphs, INT *pcGlyphs, INT cMaxGlyphs, WORD *pwLogClust)
static void ContextualShape_Bengali (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WCHAR *pwcChars, INT cChars, WORD *pwOutGlyphs, INT *pcGlyphs, INT cMaxGlyphs, WORD *pwLogClust)
static void ContextualShape_Gurmukhi (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WCHAR *pwcChars, INT cChars, WORD *pwOutGlyphs, INT *pcGlyphs, INT cMaxGlyphs, WORD *pwLogClust)
static void ContextualShape_Gujarati (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WCHAR *pwcChars, INT cChars, WORD *pwOutGlyphs, INT *pcGlyphs, INT cMaxGlyphs, WORD *pwLogClust)
static void ContextualShape_Oriya (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WCHAR *pwcChars, INT cChars, WORD *pwOutGlyphs, INT *pcGlyphs, INT cMaxGlyphs, WORD *pwLogClust)
static void ContextualShape_Tamil (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WCHAR *pwcChars, INT cChars, WORD *pwOutGlyphs, INT *pcGlyphs, INT cMaxGlyphs, WORD *pwLogClust)
static void ContextualShape_Telugu (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WCHAR *pwcChars, INT cChars, WORD *pwOutGlyphs, INT *pcGlyphs, INT cMaxGlyphs, WORD *pwLogClust)
static void ContextualShape_Kannada (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WCHAR *pwcChars, INT cChars, WORD *pwOutGlyphs, INT *pcGlyphs, INT cMaxGlyphs, WORD *pwLogClust)
static void ContextualShape_Malayalam (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WCHAR *pwcChars, INT cChars, WORD *pwOutGlyphs, INT *pcGlyphs, INT cMaxGlyphs, WORD *pwLogClust)
static void ContextualShape_Khmer (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WCHAR *pwcChars, INT cChars, WORD *pwOutGlyphs, INT *pcGlyphs, INT cMaxGlyphs, WORD *pwLogClust)
static void ContextualShape_Mongolian (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WCHAR *pwcChars, INT cChars, WORD *pwOutGlyphs, INT *pcGlyphs, INT cMaxGlyphs, WORD *pwLogClust)
static void ShapeCharGlyphProp_Default (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, const WCHAR *pwcChars, const INT cChars, const WORD *pwGlyphs, const INT cGlyphs, WORD *pwLogClust, SCRIPT_CHARPROP *pCharProp, SCRIPT_GLYPHPROP *pGlyphProp)
static void ShapeCharGlyphProp_Arabic (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, const WCHAR *pwcChars, const INT cChars, const WORD *pwGlyphs, const INT cGlyphs, WORD *pwLogClust, SCRIPT_CHARPROP *pCharProp, SCRIPT_GLYPHPROP *pGlyphProp)
static void ShapeCharGlyphProp_Thai (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, const WCHAR *pwcChars, const INT cChars, const WORD *pwGlyphs, const INT cGlyphs, WORD *pwLogClust, SCRIPT_CHARPROP *pCharProp, SCRIPT_GLYPHPROP *pGlyphProp)
static void ShapeCharGlyphProp_None (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, const WCHAR *pwcChars, const INT cChars, const WORD *pwGlyphs, const INT cGlyphs, WORD *pwLogClust, SCRIPT_CHARPROP *pCharProp, SCRIPT_GLYPHPROP *pGlyphProp)
static void ShapeCharGlyphProp_Tibet (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, const WCHAR *pwcChars, const INT cChars, const WORD *pwGlyphs, const INT cGlyphs, WORD *pwLogClust, SCRIPT_CHARPROP *pCharProp, SCRIPT_GLYPHPROP *pGlyphProp)
static void ShapeCharGlyphProp_Sinhala (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, const WCHAR *pwcChars, const INT cChars, const WORD *pwGlyphs, const INT cGlyphs, WORD *pwLogClust, SCRIPT_CHARPROP *pCharProp, SCRIPT_GLYPHPROP *pGlyphProp)
static void ShapeCharGlyphProp_Devanagari (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, const WCHAR *pwcChars, const INT cChars, const WORD *pwGlyphs, const INT cGlyphs, WORD *pwLogClust, SCRIPT_CHARPROP *pCharProp, SCRIPT_GLYPHPROP *pGlyphProp)
static void ShapeCharGlyphProp_Bengali (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, const WCHAR *pwcChars, const INT cChars, const WORD *pwGlyphs, const INT cGlyphs, WORD *pwLogClust, SCRIPT_CHARPROP *pCharProp, SCRIPT_GLYPHPROP *pGlyphProp)
static void ShapeCharGlyphProp_Gurmukhi (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, const WCHAR *pwcChars, const INT cChars, const WORD *pwGlyphs, const INT cGlyphs, WORD *pwLogClust, SCRIPT_CHARPROP *pCharProp, SCRIPT_GLYPHPROP *pGlyphProp)
static void ShapeCharGlyphProp_Gujarati (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, const WCHAR *pwcChars, const INT cChars, const WORD *pwGlyphs, const INT cGlyphs, WORD *pwLogClust, SCRIPT_CHARPROP *pCharProp, SCRIPT_GLYPHPROP *pGlyphProp)
static void ShapeCharGlyphProp_Oriya (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, const WCHAR *pwcChars, const INT cChars, const WORD *pwGlyphs, const INT cGlyphs, WORD *pwLogClust, SCRIPT_CHARPROP *pCharProp, SCRIPT_GLYPHPROP *pGlyphProp)
static void ShapeCharGlyphProp_Tamil (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, const WCHAR *pwcChars, const INT cChars, const WORD *pwGlyphs, const INT cGlyphs, WORD *pwLogClust, SCRIPT_CHARPROP *pCharProp, SCRIPT_GLYPHPROP *pGlyphProp)
static void ShapeCharGlyphProp_Telugu (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, const WCHAR *pwcChars, const INT cChars, const WORD *pwGlyphs, const INT cGlyphs, WORD *pwLogClust, SCRIPT_CHARPROP *pCharProp, SCRIPT_GLYPHPROP *pGlyphProp)
static void ShapeCharGlyphProp_Kannada (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, const WCHAR *pwcChars, const INT cChars, const WORD *pwGlyphs, const INT cGlyphs, WORD *pwLogClust, SCRIPT_CHARPROP *pCharProp, SCRIPT_GLYPHPROP *pGlyphProp)
static void ShapeCharGlyphProp_Malayalam (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, const WCHAR *pwcChars, const INT cChars, const WORD *pwGlyphs, const INT cGlyphs, WORD *pwLogClust, SCRIPT_CHARPROP *pCharProp, SCRIPT_GLYPHPROP *pGlyphProp)
static void ShapeCharGlyphProp_Khmer (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, const WCHAR *pwcChars, const INT cChars, const WORD *pwGlyphs, const INT cGlyphs, WORD *pwLogClust, SCRIPT_CHARPROP *pCharProp, SCRIPT_GLYPHPROP *pGlyphProp)
static INT GSUB_apply_feature_all_lookups (LPCVOID header, LoadedFeature *feature, WORD *glyphs, INT glyph_index, INT write_dir, INT *glyph_count)
static OPENTYPE_TAG get_opentype_script (HDC hdc, SCRIPT_ANALYSIS *psa, ScriptCache *psc, BOOL tryNew)
static LoadedFeatureload_GSUB_feature (HDC hdc, SCRIPT_ANALYSIS *psa, ScriptCache *psc, const char *feat)
static INT apply_GSUB_feature_to_glyph (HDC hdc, SCRIPT_ANALYSIS *psa, ScriptCache *psc, WORD *glyphs, INT index, INT write_dir, INT *glyph_count, const char *feat)
static VOIDload_gsub_table (HDC hdc)
INT SHAPE_does_GSUB_feature_apply_to_chars (HDC hdc, SCRIPT_ANALYSIS *psa, ScriptCache *psc, const WCHAR *chars, INT write_dir, INT count, const char *feature)
static void UpdateClustersFromGlyphProp (const int cGlyphs, const int cChars, WORD *pwLogClust, SCRIPT_GLYPHPROP *pGlyphProp)
static void UpdateClusters (int nextIndex, int changeCount, int write_dir, int chars, WORD *pwLogClust)
static int apply_GSUB_feature (HDC hdc, SCRIPT_ANALYSIS *psa, ScriptCache *psc, WORD *pwOutGlyphs, int write_dir, INT *pcGlyphs, INT cChars, const char *feat, WORD *pwLogClust)
static BOOL get_GSUB_Indic2 (SCRIPT_ANALYSIS *psa, ScriptCache *psc)
static WCHAR neighbour_char (int i, int delta, const WCHAR *chars, INT cchLen)
static CHAR neighbour_joining_type (int i, int delta, const CHAR *context_type, INT cchLen, SCRIPT_ANALYSIS *psa)
static BOOL right_join_causing (CHAR joining_type)
static BOOL left_join_causing (CHAR joining_type)
static BOOL word_break_causing (WCHAR chr)
static void ReplaceInsertChars (HDC hdc, INT cWalk, INT *pcChars, WCHAR *pwOutChars, const WCHAR *replacements)
static void DecomposeVowels (HDC hdc, WCHAR *pwOutChars, INT *pcChars, const VowelComponents vowels[], WORD *pwLogClust, INT cChars)
static void ComposeConsonants (HDC hdc, WCHAR *pwOutChars, INT *pcChars, const ConsonantComponents consonants[], WORD *pwLogClust)
static void Reorder_Ra_follows_base (LPWSTR pwChar, IndicSyllable *s, lexical_function lexical)
static void Reorder_Ra_follows_matra (LPWSTR pwChar, IndicSyllable *s, lexical_function lexical)
static void Reorder_Ra_follows_syllable (LPWSTR pwChar, IndicSyllable *s, lexical_function lexical)
static void Reorder_Matra_precede_base (LPWSTR pwChar, IndicSyllable *s, lexical_function lexical)
static void Reorder_Matra_precede_syllable (LPWSTR pwChar, IndicSyllable *s, lexical_function lexical)
static void SecondReorder_Blwf_follows_matra (LPWSTR pwChar, IndicSyllable *s, WORD *glyphs, IndicSyllable *g, lexical_function lexical)
static void SecondReorder_Matra_precede_base (LPWSTR pwChar, IndicSyllable *s, WORD *glyphs, IndicSyllable *g, lexical_function lexical)
static void SecondReorder_Pref_precede_base (LPWSTR pwChar, IndicSyllable *s, WORD *glyphs, IndicSyllable *g, lexical_function lexical)
static void Reorder_Like_Sinhala (LPWSTR pwChar, IndicSyllable *s, lexical_function lexical)
static void Reorder_Like_Devanagari (LPWSTR pwChar, IndicSyllable *s, lexical_function lexical)
static void Reorder_Like_Bengali (LPWSTR pwChar, IndicSyllable *s, lexical_function lexical)
static void Reorder_Like_Kannada (LPWSTR pwChar, IndicSyllable *s, lexical_function lexical)
static void SecondReorder_Like_Telugu (LPWSTR pwChar, IndicSyllable *s, WORD *pwGlyphs, IndicSyllable *g, lexical_function lexical)
static void SecondReorder_Like_Tamil (LPWSTR pwChar, IndicSyllable *s, WORD *pwGlyphs, IndicSyllable *g, lexical_function lexical)
static void shift_syllable_glyph_indexs (IndicSyllable *glyph_index, INT index, INT shift)
static void Apply_Indic_BasicForm (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WCHAR *pwChars, INT cChars, IndicSyllable *syllable, WORD *pwOutGlyphs, INT *pcGlyphs, WORD *pwLogClust, lexical_function lexical, IndicSyllable *glyph_index, LoadedFeature *feature)
static INT find_consonant_halant (WCHAR *pwChars, INT index, INT end, lexical_function lexical)
static void Apply_Indic_PreBase (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WCHAR *pwChars, INT cChars, IndicSyllable *syllable, WORD *pwOutGlyphs, INT *pcGlyphs, WORD *pwLogClust, lexical_function lexical, IndicSyllable *glyph_index, const char *feature)
static void Apply_Indic_Rphf (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WCHAR *pwChars, INT cChars, IndicSyllable *syllable, WORD *pwOutGlyphs, INT *pcGlyphs, WORD *pwLogClust, lexical_function lexical, IndicSyllable *glyph_index)
static INT find_halant_consonant (WCHAR *pwChars, INT index, INT end, lexical_function lexical)
static void Apply_Indic_PostBase (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WCHAR *pwChars, INT cChars, IndicSyllable *syllable, WORD *pwOutGlyphs, INT *pcGlyphs, WORD *pwLogClust, lexical_function lexical, IndicSyllable *glyph_index, BOOL modern, const char *feat)
static void ShapeIndicSyllables (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WCHAR *pwChars, INT cChars, IndicSyllable *syllables, INT syllable_count, WORD *pwOutGlyphs, INT *pcGlyphs, WORD *pwLogClust, lexical_function lexical, second_reorder_function second_reorder, BOOL modern)
static int unicode_lex (WCHAR c)
static int sinhala_lex (WCHAR c)
static int devanagari_lex (WCHAR c)
static int bengali_lex (WCHAR c)
static int gurmukhi_lex (WCHAR c)
static int gujarati_lex (WCHAR c)
static int oriya_lex (WCHAR c)
static int tamil_lex (WCHAR c)
static int telugu_lex (WCHAR c)
static int kannada_lex (WCHAR c)
static int malayalam_lex (WCHAR c)
static int khmer_lex (WCHAR c)
static BOOL mongolian_wordbreak (WCHAR chr)
static void ShapeCharGlyphProp_BaseIndic (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, const WCHAR *pwcChars, const INT cChars, const WORD *pwGlyphs, const INT cGlyphs, WORD *pwLogClust, SCRIPT_CHARPROP *pCharProp, SCRIPT_GLYPHPROP *pGlyphProp, lexical_function lexical, BOOL use_syllables, BOOL override_gsub)
void SHAPE_CharGlyphProp (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, const WCHAR *pwcChars, const INT cChars, const WORD *pwGlyphs, const INT cGlyphs, WORD *pwLogClust, SCRIPT_CHARPROP *pCharProp, SCRIPT_GLYPHPROP *pGlyphProp)
void SHAPE_ContextualShaping (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WCHAR *pwcChars, INT cChars, WORD *pwOutGlyphs, INT *pcGlyphs, INT cMaxGlyphs, WORD *pwLogClust)
static void SHAPE_ApplyOpenTypeFeatures (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WORD *pwOutGlyphs, INT *pcGlyphs, INT cMaxGlyphs, INT cChars, const TEXTRANGE_PROPERTIES *rpRangeProperties, WORD *pwLogClust)
void SHAPE_ApplyDefaultOpentypeFeatures (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WORD *pwOutGlyphs, INT *pcGlyphs, INT cMaxGlyphs, INT cChars, WORD *pwLogClust)
HRESULT SHAPE_CheckFontForRequiredFeatures (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa)
HRESULT SHAPE_GetFontScriptTags (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, int cMaxTags, OPENTYPE_TAG *pScriptTags, int *pcTags)
HRESULT SHAPE_GetFontLanguageTags (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, OPENTYPE_TAG tagScript, int cMaxTags, OPENTYPE_TAG *pLangSysTags, int *pcTags)
HRESULT SHAPE_GetFontFeatureTags (HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, OPENTYPE_TAG tagScript, OPENTYPE_TAG tagLangSys, int cMaxTags, OPENTYPE_TAG *pFeatureTags, int *pcTags)

Variables

const unsigned short indic_syllabic_table []
const unsigned short wine_shaping_table []
const unsigned short wine_shaping_forms [LAST_ARABIC_CHAR-FIRST_ARABIC_CHAR+1][4]
static const charcontextual_features []
static OPENTYPE_FEATURE_RECORD standard_features []
static OPENTYPE_FEATURE_RECORD latin_features []
static OPENTYPE_FEATURE_RECORD arabic_features []
static const charrequired_arabic_features []
static OPENTYPE_FEATURE_RECORD hebrew_features []
static OPENTYPE_FEATURE_RECORD syriac_features []
static const charrequired_syriac_features []
static OPENTYPE_FEATURE_RECORD sinhala_features []
static OPENTYPE_FEATURE_RECORD tibetan_features []
static OPENTYPE_FEATURE_RECORD phags_features []
static OPENTYPE_FEATURE_RECORD thai_features []
static const charrequired_lao_features []
static const charrequired_devanagari_features []
static OPENTYPE_FEATURE_RECORD devanagari_features []
static OPENTYPE_FEATURE_RECORD myanmar_features []
static const charrequired_bengali_features []
static const charrequired_gurmukhi_features []
static const charrequired_oriya_features []
static const charrequired_tamil_features []
static const charrequired_telugu_features []
static OPENTYPE_FEATURE_RECORD khmer_features []
static const charrequired_khmer_features []
static OPENTYPE_FEATURE_RECORD ethiopic_features []
static OPENTYPE_FEATURE_RECORD mongolian_features []
static const ScriptShapeData ShapingData []
scriptData scriptInformation []
static const VowelComponents Sinhala_vowels []
static const ConsonantComponents Devanagari_consonants []
static const VowelComponents Bengali_vowels []
static const ConsonantComponents Bengali_consonants []
static const ConsonantComponents Gurmukhi_consonants []
static const VowelComponents Oriya_vowels []
static const ConsonantComponents Oriya_consonants []
static const VowelComponents Tamil_vowels []
static const ConsonantComponents Tamil_consonants []
static const VowelComponents Telugu_vowels []
static const VowelComponents Kannada_vowels []
static const VowelComponents Malayalam_vowels []

Generated on Sat May 26 2012 05:19:03 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.