Behdad Esfahbod
07d6828063
Minor
2012-08-10 03:28:50 -04:00
Behdad Esfahbod
b00321ea78
[OT] Avoid calling get_glyph() twice
...
Essentially move the glyph mapping to normalization process.
The effect on Devanagari is small (but observable). Should be more
observable in simple text, like ASCII.
2012-08-09 22:33:32 -04:00
Behdad Esfahbod
12c0875eaf
[OT] Remove redundant check
2012-08-09 22:02:54 -04:00
Behdad Esfahbod
5c60b70c89
[OT] More code shuffling around
...
Preparing for merging map_glyphs() and normalize().
2012-08-09 21:58:07 -04:00
Behdad Esfahbod
a02d86484b
Add check-exported-symbols.sh
...
And misc linking fixes.
2012-08-08 18:04:29 -04:00
Behdad Esfahbod
4c8ac4f47e
Misc minor fixes
2012-08-08 17:44:19 -04:00
Behdad Esfahbod
9c929abdcf
Minor renaming
2012-08-08 14:33:37 -04:00
Behdad Esfahbod
affaf8a0e5
[OT] Start adding fallback positioning
...
Used when there is no GPOS.
2012-08-07 22:43:07 -04:00
Behdad Esfahbod
7e4920fd15
Minor
2012-08-07 22:32:23 -04:00
Behdad Esfahbod
f4e48adcdd
[OT] Apply 'rclt' feature in horizontal mode
...
'rclt' is "Required Contextual Forms" being proposed by Microsoft.
It's like 'calt', but supposedly always on. We apply 'calt' anyway,
and now apply this too.
2012-08-07 21:12:49 -04:00
Behdad Esfahbod
71baea0062
[OT] Use general-category, not GDEF class, to decide to zero mark advances
...
At this point, the GDEF glyph synthesis looks pointless. Not that I
have many fonts without GDEF lying around.
As for mark advance zeroing when GPOS not available, that also is being
replaced by proper fallback mark positioning soon.
2012-08-03 17:40:07 -07:00
Behdad Esfahbod
a8c6da90f4
[OT] Add per-complex-shaper shape_plan data
...
Hookup some Indic data to it. More to come.
2012-08-02 10:46:34 -04:00
Behdad Esfahbod
8bb5deba96
[OT] Pipe shape_plan down to pause_callbacks
2012-08-02 10:07:58 -04:00
Behdad Esfahbod
16c6a27b4b
[OT] Port complex_shaper to planner/plan
2012-08-02 09:38:28 -04:00
Behdad Esfahbod
5393e3a62b
[OT] Minor refactoring
2012-08-02 09:24:35 -04:00
Behdad Esfahbod
afbcc24be0
[GSUB] Wire the font, not just the face, down to substitute()
...
We need the font for glyph lookup during GSUB pauses in Indic shaper.
Could perhaps be avoided, but at this point, we don't mean to support
separate substitute()/position() entry points (anymore), so there is
no point in not providing the font to GSUB.
2012-08-02 08:36:40 -04:00
Behdad Esfahbod
8fbfda920e
Inline font getters
2012-08-01 19:03:46 -04:00
Behdad Esfahbod
208f70f055
Inline Unicode callbacks internally
2012-08-01 17:13:10 -04:00
Behdad Esfahbod
1e7d860613
[GPOS] Adjust mark advance-width zeroing logic
...
If there is no GPOS, zero mark advances.
If there *is* GPOS and the shaper requests so, zero mark advances for
attached marks.
Fixes regression with Tibetan, where the font has GPOS, and marks a
glyph as mark where it shouldn't get zero advance.
2012-07-31 23:41:06 -04:00
Behdad Esfahbod
2bc3b9a616
[OT] Zero mark advances if the shaper desires so
...
Enabled for all shapers except for Indic.
2012-07-31 23:17:22 -04:00
Behdad Esfahbod
5fecd8b035
[OT] Synthesize glyph classes
2012-07-31 23:17:22 -04:00
Behdad Esfahbod
693918ef85
[OT] Streamline complex shaper enumeration
...
Add a shaper class struct.
2012-07-30 21:08:51 -04:00
Behdad Esfahbod
05bd1b6342
[GSUB/GPOS] Move glyph props matching around
2012-07-30 19:30:01 -04:00
Behdad Esfahbod
7e34601ded
Unbreak Hangul jamo composition
...
When we removed the separate Hangul shaper, the specific normalization
preference of Hangul was lost. Fix that. Also, the Thai shaper was
copied from Hangul, so had the fully-composed normalization behavior,
which was unnecessary. So, fix that too.
2012-07-30 14:53:41 -04:00
Behdad Esfahbod
4ba647eecf
Fix leak
2012-07-30 09:53:06 -04:00
Behdad Esfahbod
e82061e8db
Move ot shaper completely to shape_plan
2012-07-27 02:29:32 -04:00
Behdad Esfahbod
ea278d3895
Partially switch ot shaper to shape_plan
2012-07-27 02:12:28 -04:00
Behdad Esfahbod
5b95c148cc
Start implementing shape_plan
2012-07-27 01:02:24 -04:00
Behdad Esfahbod
bd26b4d21f
Minor
2012-07-26 22:18:24 -04:00
Behdad Esfahbod
027857d041
Start adding a unified shaper access infrastructure
...
Add global shape_plan. Unused so far.
2012-07-26 21:14:02 -04:00
Behdad Esfahbod
b70021f7c8
When removing zero-width marks, don't remove ligatures
...
If a mark ligated, it probably should NOT be removed.
2012-07-23 20:18:17 -04:00
Behdad Esfahbod
d96838ef95
Allow complex shapers overriding common features
...
In a new callback... Currently unused by all complex shapers.
2012-07-16 20:26:57 -04:00
Behdad Esfahbod
330a2af3ff
Use merge_clusters when forming Unicode clusters
2012-06-08 20:40:02 -04:00
Behdad Esfahbod
5f68f8675e
Minor
2012-06-08 19:23:43 -04:00
Behdad Esfahbod
0594a24484
Cleanup TRUE/FALSE vs true/false
2012-06-05 20:35:40 -04:00
Behdad Esfahbod
99c2695759
Add accessort to buffer for current info, current pos, and prev info
2012-05-13 15:45:18 +02:00
Behdad Esfahbod
d1deaa2f5b
Replace zerowidth invisible chars with a zero-advance space glyph
...
Like Uniscribe does.
2012-05-09 15:04:13 +02:00
Behdad Esfahbod
1827dc208c
Add hb_ot_shape_glyphs_closure()
...
Experimental API for now.
2012-04-24 16:56:37 -04:00
Behdad Esfahbod
a4385f0b0a
Improve clustering
2012-04-23 22:20:14 -04:00
Behdad Esfahbod
a5f1834f57
Apply 'liga' for vertical writing mode too
...
Apparently that's what Kazuraki uses to form vertical ligatures,
which suggests that it's what Adobe does.
2012-04-16 15:55:13 -04:00
Behdad Esfahbod
683b503f30
Minor
2012-04-14 20:47:14 -04:00
Behdad Esfahbod
b9f199c8e3
Move code around
2012-04-14 20:25:37 -04:00
Behdad Esfahbod
d4adade217
Add assert
2012-04-14 19:23:17 -04:00
Behdad Esfahbod
6bd9b479b8
Hide backend-specific shape functions
...
Also remove shaper_options argument to hb_shape_full(). That was
unused and for "future". Let it go.
More shaper API coming in preparation for plan/planned API.
2012-04-12 14:53:53 -04:00
Behdad Esfahbod
0e3361464b
Fix bug with not setting Unicode props of the first character
...
Fixes Mongolian shaping issue:
https://bugs.freedesktop.org/show_bug.cgi?id=45695
2012-04-12 10:06:52 -04:00
Behdad Esfahbod
acd88e659f
In Arabic fallback shaping, check that the font has glyph for new char
2012-04-10 18:02:20 -04:00
Behdad Esfahbod
7752aa73e7
Minor
2012-04-10 17:22:14 -04:00
Behdad Esfahbod
11138ccff7
Add normalize mode
...
In preparation for Hangul shaper.
2012-04-05 17:25:19 -04:00
Behdad Esfahbod
6769f21d57
More moving code around
2012-04-05 16:46:46 -04:00
Behdad Esfahbod
0501573ded
Fix const correctness in the API
2011-08-10 16:25:56 +02:00