summaryrefslogtreecommitdiff
path: root/src/hb-unicode.cc
AgeCommit message (Collapse)AuthorFilesLines
2012-08-09Fill out combining class resetting for fallback shaping Thai/Lao/TibetanBehdad Esfahbod1-1/+1
2012-08-08[OT] Implement fallback positioningBehdad Esfahbod1-70/+37
Implemented for Arabic, Hebrew, and generic marks. Activated if no GPOS table present.
2012-08-01Use a lookup table for modified_combining_classBehdad Esfahbod1-67/+146
2012-08-01Inline Unicode callbacks internallyBehdad Esfahbod1-3/+2
2012-08-01Move unicode accessors aroundBehdad Esfahbod1-59/+6
2012-08-01Add hb_unicode_combining_class_tBehdad Esfahbod1-5/+6
2012-07-31Implement Unicode compatibility decompositionsBehdad Esfahbod1-1/+26
Based on patch from Philip Withnall. https://bugs.freedesktop.org/show_bug.cgi?id=41095
2012-07-30[Indic] Recategorize Telugu length marksBehdad Esfahbod1-0/+8
Fixes 8 more Telugu tests. Failures at 15 (0.00154548%).
2012-07-23[Thai] Reorder U+0E3A THAI VOWEL SIGN PHINTHUBehdad Esfahbod1-0/+6
Uniscribe reorders U+0E3A to be after U+0E38 and U+0E39. We do that by modifying the ccc for U+0E3A. Fixes the two remaining Thai failures (see previous commit).
2012-07-20[Indic] Recompose Bengali Ya,NuktaBehdad Esfahbod1-0/+8
This is a bunch of hacks for now. Improves Bengali a bit.
2012-07-20[Indic] Don't split U+0AC9Behdad Esfahbod1-1/+1
Althought IndicMatraCategory.txt classifies it as Top_And_Right matra, it does not have Unicode decomposition, and Uniscribe does not do anything special about it either. Gujarati failures down from 0.672% to 0.0130966%.
2012-07-19[Indic] Implement per-script matra positioningBehdad Esfahbod1-1/+1
Following what the spec says. Brings down Telugu failures from 40% to 3.75%, and Kannada failures from 44% to 10%. Does NOT affect other scripts' test results.
2012-07-19[Indic] Disallow decomposition of a couple charactersBehdad Esfahbod1-0/+3
This is a hack for now. Will be fixed when we do complex-shaper-driven normalization properly. The results with or without decomposition are the same, but Uniscribe does not normalize, so this matches better.
2012-07-18[Indic/Unicode] Decompose Sinhala split matras the way Uniscribe likesBehdad Esfahbod1-0/+8
Makes no visual difference. Fixes most of the failures. Down from 15% to 1.3%!
2012-07-16Split matras without a Unicode decompositionBehdad Esfahbod1-0/+22
This is a hack for now, to get us going with Khmer. This will be refactored properly later to move the complex logic into complex shapers.
2012-06-05Cleanup TRUE/FALSE vs true/falseBehdad Esfahbod1-4/+4
2012-06-05Undo default unicode-funcs to avoid static initializer againBehdad Esfahbod1-12/+14
2012-06-05Better hide nil objects and make them constBehdad Esfahbod1-17/+17
2012-04-24MinorBehdad Esfahbod1-2/+0
2012-04-05Move code aroundBehdad Esfahbod1-0/+55
2011-08-09[API] Make set_user_data() functions take a replace parameterBehdad Esfahbod1-2/+3
We need this to set data on objects safely without worrying that some other thread unsets it by setting it at the same time.
2011-08-04Remove C++ guards from source filesBehdad Esfahbod1-2/+0
Where causing issues for people with MSVC.
2011-07-20Add tests for compose()/decompose()Behdad Esfahbod1-1/+1
Adjust glib fallback implementation. The tests are not hooked up for ICU yet.
2011-07-20[glib] Add compose() and decompose() implementations with fallbackBehdad Esfahbod1-2/+4
2011-07-08[API] Add compose() and decompose() unicode funcs, rename other onesBehdad Esfahbod1-23/+62
Add compose() and decompose() unicode funcs. These implement pair-wise canonical composition/decomposition. The glib/icu implementations are lacking for now. We are adding API for this to glib, but I cannot find any useful API in ICU. May end of implementing these in-house. Changed all unicode_funcs callback names to remove the "_get" part. Eg, hb_unicode_get_script_func_t is now hb_unicode_script_func_t, and hb_unicode_get_script() is hb_unicode_script() now.
2011-07-07Humm, undo some shufflingBehdad Esfahbod1-17/+48
In preparation for adding more advanced unicode funcs.
2011-07-07More code shufflingBehdad Esfahbod1-88/+52
2011-05-11[API] Add hb_*_get_empty() for all objectsBehdad Esfahbod1-0/+6
2011-05-11[unicode] Simplify method settingBehdad Esfahbod1-5/+1
2011-05-04Move code aroundBehdad Esfahbod1-1/+0
Mutex (and Windows.h by extension) are fairly isolated now.
2011-05-02[unicode] Make _get_parent() return _nil object instead of NULLBehdad Esfahbod1-17/+12
2011-04-27[API] Add _set/get_user_data() for all objectsBehdad Esfahbod1-0/+17
2011-04-27[object] Remove unnecessary use of macrosBehdad Esfahbod1-4/+4
2011-04-27[API] Add hb_unicode_funcs_get_default()Behdad Esfahbod1-0/+7
2011-04-21Add hb_object_header_t which is the common part of all objectsBehdad Esfahbod1-1/+2
Makes way for adding arbitrary user_data support.
2011-04-21Update Copyright headersBehdad Esfahbod1-2/+2
2011-04-20Rename all private sources and headers to C++ filesBehdad Esfahbod1-1/+1
So we can liberally use the simple features of C++ that parts of the codebase is already using.
2011-04-20[API] Remove hb_*_get_reference_count()Behdad Esfahbod1-6/+0
This was a bizzare piece of API that I inherited from cairo. It has been wrong adding them to cairo in the first place. Remove them before someone uses them!
2011-04-20unicode: Cleanup implementationBehdad Esfahbod1-0/+223