|
c7dfe316
|
2015-08-07T17:55:03
|
|
Don't rely on .cluster in _hb_ot_shape_normalize()
Fixes https://github.com/behdad/harfbuzz/pull/124
|
|
1eff4350
|
2015-01-27T12:26:04
|
|
Minor optimization
|
|
8f3eebf7
|
2014-08-02T17:18:46
|
|
Make sure gsubgpos buffer vars are available during fallback_position
Add buffer var allocation asserts to a few key places.
|
|
5209c505
|
2014-07-17T12:23:44
|
|
Revert "Show U+FFFD REPLACEMENT CHARACTER for invalid Unicode codepoints"
We now handle U+FFFD replacement in hb_buffer_add_utf*(). Any other
manipulation can happen in user callbacks. No need for this.
https://github.com/behdad/harfbuzz/commit/efe74214bbb68eaa3d7621e73869b5d58210107e#commitcomment-7039404
This reverts commit efe74214bbb68eaa3d7621e73869b5d58210107e.
Conflicts:
src/hb-ot-shape-normalize.cc
|
|
7627100f
|
2014-07-11T14:54:42
|
|
Mark unsigned integer literals with the u suffix
Simplifies hb_in_range() calls as the type can be inferred.
The rest is obsessiveness, I admit.
|
|
efe74214
|
2014-07-11T11:59:48
|
|
Show U+FFFD REPLACEMENT CHARACTER for invalid Unicode codepoints
Only if the font doesn't support it. Ie, this gives the user to
use non-Unicode codepoints as private values and return a meaningful
glyph for them. But if it's invalid and font callback doesn't
like it, and if font has U+FFFD, show that instead.
Font functions that do not want this automatic replacement to
happen should return true from get_glyph() if unicode > 0x10FFFF.
Replaces https://github.com/behdad/harfbuzz/pull/27
|
|
08cf5d75
|
2014-01-22T07:53:55
|
|
[ot] Don't try to compose if normalization is off
|
|
8fc1f7fe
|
2014-01-02T17:04:04
|
|
[ot/hangul] Don't decompose Hangul even when combining marks present
As discussed on
https://github.com/behdad/harfbuzz/pull/10#issuecomment-31442030
|
|
64426ec7
|
2014-01-02T14:33:10
|
|
[ot] Simplify composing
Not tested. Ouch.
|
|
3d6ca0d3
|
2013-12-31T16:04:35
|
|
[ot] Simplify normalization_preference again
No shaper has more than one behavior re this, so no need for a callback.
|
|
ac8cd511
|
2013-10-18T19:33:09
|
|
Refactor
|
|
79d1007a
|
2013-06-13T19:01:07
|
|
If variation selector is not consumed by cmap, pass it on to GSUB
This changes the semantics of get_glyph() callback and expect that
callbacks return false if the requested variant is not available, and
then we will call them back with variation_selector=0 and will retain
the glyph for the selector in the glyph stream.
Apparently most Mongolian fonts implement the Mongolian Variation
Selectors using GSUB, not cmap.
https://bugs.freedesktop.org/show_bug.cgi?id=65258
Note that this doesn't fix the Mongolian shaping yet, because the way
that's implemented is that the, say, 'init' feature ligates the letter
and the variation-selector. However, since currently the variation
selector doesn't have the 'init' mask on, it will not be matched...
|
|
c7a84917
|
2013-06-06T20:17:32
|
|
Skip over multiple variation selectors in a row
|
|
269de14d
|
2013-04-04T23:06:54
|
|
Don't compose Hangul jamo
See thread "an issue regarding discrepancy between Korean and Unicode
standards" on the mailing list for the rationale. In short: Uniscribe
doesn't, so fonts are designed to work without it.
|
|
a88a62f7
|
2013-03-21T21:02:16
|
|
Minor
|
|
6e74c642
|
2013-02-11T06:50:17
|
|
Improve normalization heuristic
Before, for most scripts, we were not trying to recompose two characters
if the second one had ccc=0. That fails for Myanmar where U+1026
decomposes to U+1025,U+102E, both of which have ccc=0. However, we do
want to try to recompose those. We now check whether the second is a
mark, using general category instead.
At the same time, remove optimization that was conflicting with this.
[Let the Ngapi hackfest begin!]
|
|
eba312c8
|
2012-11-16T12:39:23
|
|
Plumbing to get shape plan and font into complex decompose function
So we can handle Sinhala split matras smartly... Coming soon.
|
|
0736915b
|
2012-11-13T12:35:35
|
|
[Indic] Decompose Sinhala split matras the way old HarfBuzz / Pango did
Had to do some refactoring to make this happen...
Under uniscribe bug compatibility mode, we still plit them
Uniscrie-style, but Jonathan and I convinced ourselves that there is no
harm doing this the Unicode way. This change makes that happen, and
unbreaks free Sinhala fonts.
|
|
028a1706
|
2012-09-06T14:25:48
|
|
Refactor common macro
|
|
b85800f9
|
2012-08-31T18:12:01
|
|
[Indic] Implement dotted-circle insertion for broken clusters
No panic, we reeally insert dotted circle when it's absolutely broken.
Fixes most of the dotted-circle cases against Uniscribe. (for Devanagari
fixes 80% of them, for Khmer 70%; the rest look like Uniscribe being
really bogus...)
I had to make a decision. Apparently Uniscribe adds one dotted circle
to each broken character. I tried that, but that goes wrong easily with
split matras. So I made it add only one dotted circle to an entire
broken syllable tail. As in: "if there was a dotted circle here, this
would have formed a correct cluster." That works better for split
stuff, and I like it more.
|
|
f4cb4762
|
2012-08-10T03:51:44
|
|
[OT] Slightly adjust normalizer
The change is very subtle. If we have a single-char cluster that
decomposes to three or more characters, then try recomposition, in
case the farther mark may compose with the base.
|
|
07d68280
|
2012-08-10T03:28:50
|
|
Minor
|
|
b00321ea
|
2012-08-09T22:33:32
|
|
[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.
|
|
8d1eef3f
|
2012-08-09T21:31:52
|
|
Minor
|
|
0f8881d6
|
2012-08-07T16:57:02
|
|
More refactoring
|
|
428dfcab
|
2012-08-07T16:51:48
|
|
Minor refactoring
|
|
8fbfda92
|
2012-08-01T19:03:46
|
|
Inline font getters
|
|
208f70f0
|
2012-08-01T17:13:10
|
|
Inline Unicode callbacks internally
|
|
84186a64
|
2012-08-01T13:32:39
|
|
Add commentary on the compatibility decomposition in the normalizer
|
|
378d279b
|
2012-07-31T21:36:16
|
|
Implement Unicode compatibility decompositions
Based on patch from Philip Withnall.
https://bugs.freedesktop.org/show_bug.cgi?id=41095
|
|
bc8357ea
|
2012-06-08T21:01:20
|
|
Merge clusters during normalization
|
|
0594a244
|
2012-06-05T20:35:40
|
|
Cleanup TRUE/FALSE vs true/false
|
|
9f377ed3
|
2012-05-13T16:13:44
|
|
Fix more unused-var warnings
|
|
99c26957
|
2012-05-13T15:45:18
|
|
Add accessort to buffer for current info, current pos, and prev info
|
|
d1deaa2f
|
2012-05-09T15:04:13
|
|
Replace zerowidth invisible chars with a zero-advance space glyph
Like Uniscribe does.
|
|
29a7e306
|
2012-04-24T16:01:30
|
|
Minor
|
|
683b503f
|
2012-04-14T20:47:14
|
|
Minor
|
|
96831845
|
2012-04-07T14:57:21
|
|
Implement normalization mode HB_OT_SHAPE_NORMALIZATION_MODE_COMPOSED_FULL
In this mode we try composing CCC=0 with CCC=0 characters. Useful for
Hangul.
|
|
bec2ac4f
|
2012-04-07T14:51:17
|
|
Bring normalization algorithm closer to the spec
No logical difference so far.
|
|
e02d9257
|
2012-04-07T14:49:13
|
|
Flip logic around
|
|
11138ccf
|
2012-04-05T17:25:19
|
|
Add normalize mode
In preparation for Hangul shaper.
|
|
6769f21d
|
2012-04-05T16:46:46
|
|
More moving code around
|
|
e3b2e077
|
2012-03-07T10:21:24
|
|
Typo
|
|
c346671b
|
2012-03-06T20:47:50
|
|
Minor doc fixes
|
|
af913c57
|
2011-10-17T11:39:28
|
|
Fix infinite loop in normalization code with variation selectors
Reported by Jonathan Kew.
|
|
55deff75
|
2011-09-28T16:20:09
|
|
Add comments
|
|
947c9a77
|
2011-09-16T16:33:18
|
|
Minor
|
|
36b10f58
|
2011-09-15T16:29:51
|
|
Minor
|
|
c605bbbb
|
2011-08-04T20:00:53
|
|
Remove C++ guards from source files
Where causing issues for people with MSVC.
|
|
45d6f29f
|
2011-07-30T14:44:30
|
|
[Indic] Reorder matras
Number of failing shape-complex tests goes from 125 down to 94.
Next: Add Ra handling and it's fair to say we kinda support Indic :).
|
|
c311d852
|
2011-07-23T23:43:54
|
|
Keep Unicode props updated as we go so we avoid a scan later
|
|
5389ff4d
|
2011-07-22T20:22:49
|
|
Implement the Unicode Canonical Composition algorithm
Fallback normalization is complete and working now!
|
|
dcdc51cd
|
2011-07-22T17:14:46
|
|
Handle singleton decompositions
|
|
34c22f81
|
2011-07-22T17:04:20
|
|
Implement Unicode Canonical Reordering Algorithm
|
|
4ff0d2d9
|
2011-07-22T16:15:32
|
|
Decomposition works now!
|
|
468e9cb2
|
2011-07-22T11:28:07
|
|
Move buffer methods into the object
|
|
45412523
|
2011-07-22T11:07:05
|
|
More normalization kick
|
|
5d90a342
|
2011-07-21T15:25:01
|
|
Document normalization design
|
|
d6b9c6d2
|
2011-07-21T12:16:45
|
|
More kicking
|
|
192445ae
|
2011-07-21T12:13:04
|
|
Remove intermittent_glyph()
Lets not worry about performance for now...
|
|
5c6f5982
|
2011-07-21T11:31:08
|
|
Towards normalization
|
|
655586fe
|
2011-07-21T00:51:18
|
|
Towards normalization
|