summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2013-08-30[g-i] Rename library from harfbuzz to HarfBuzzBehdad Esfahbod1-6/+6
2013-08-28Turn hb-gobject, and introspection off by defaultBehdad Esfahbod1-2/+3
Also enable bootstrapping without them.
2013-08-28Hookup harfbuzz-gobject to introspectionBehdad Esfahbod1-3/+13
2013-08-28[gobject] Flesh out hb-gobjectBehdad Esfahbod7-72/+263
Move it to new harfbuzz-gobject library. Implement enums and boxed types for object-types. Still have to do boxed types for value types.
2013-08-28[introspection] Enable gobject-introspection againBehdad Esfahbod1-21/+28
2013-08-28[uniscribe] Fixed build with wide charsBehdad Esfahbod1-1/+1
https://github.com/blinkseb/harfbuzz/commit/f65dafa4138e1fb4395bf646fa33bb01a86a7e9a
2013-08-27Add hb-deprecated.h, and rename a couple enum valuesBehdad Esfahbod7-12/+60
Add deprecated alias for old name.
2013-08-27Separate face source code from fontBehdad Esfahbod8-409/+542
Makes documentation / introspection easier.
2013-08-27Improve check-includes.shBehdad Esfahbod1-4/+6
2013-08-27Fix possible snprintf OOMBehdad Esfahbod3-11/+12
https://bugzilla.redhat.com/show_bug.cgi?id=1001645
2013-08-26[check-*] MinorBehdad Esfahbod3-6/+6
2013-08-26Add HB_DISABLE_DEPRECATEDBehdad Esfahbod1-1/+3
That moment that you have to accept that you made API mistakes...
2013-08-26[gtk-doc] Initial setupAnthony Carrico2-2/+3
Initial setup of gtk-doc. Straight forward setup following the gtk-doc instructions. Ignore some troublesome types in src/hb-gobject.h. To build use "./autogen.sh --enable-gtk-doc" then "make". Docs are in harfbuzz/docs/reference/html/index.html.
2013-08-21[uniscribe] Ask Uniscribe to return shaping results in logical orderBehdad Esfahbod1-12/+12
See discussion on the list in the thread "Arabic presentation forms and the uniscribe backend". Based on patch from Jonathan Kew.
2013-08-20[uniscribe] Print run infoBehdad Esfahbod1-0/+8
2013-08-12[coretext] Fully support user featuresBehdad Esfahbod2-44/+404
Based on patch from Jonathan Kew and data from Apple. It's not working correctly though, and I suspect I'm hitting a bug in CoreText. When I do this: hb-shape /Library/Fonts/Zapfino.ttf ZapfinoZapfino --shaper coretext \ --features=-liga I expect both ligatures to turn off, but only the second one does: [Z_a_p_f_i_n_o=0+2333|Z=7+395|a=8+285|p_f=9+433|i=11+181|n=12+261|o=13+250] whereas if I disable 'dlig' instead of 'liga', both are turned off. Smells... Doesn't resolve conflicting feature settings.
2013-08-09Clean up list of Unicode scriptsBehdad Esfahbod4-131/+152
Rename HB_SCRIPT_CANADIAN_ABORIGINAL to HB_SCRIPT_CANADIAN_SYLLABICS and a macro for the old name.
2013-08-09Fix compiler warningBehdad Esfahbod1-2/+2
2013-08-09Round when scaling valuesBehdad Esfahbod1-1/+5
Doesn't matter for most users since they should be working in a fixed sub-pixel scale anyway (ie. 22.10, 26.6, 16.16, etc).
2013-08-09MinorBehdad Esfahbod1-1/+1
2013-08-09MinorBehdad Esfahbod1-1/+1
2013-08-09Remove vrt2, vkrn, vpal, and valt from default vertical featuresBehdad Esfahbod1-9/+0
See thread by John Dagget on the list.
2013-08-07[coretext] Start adding support for featuresBehdad Esfahbod1-11/+54
Unlike AAT, looks like with CoreText very few OT features can be mapped. :(
2013-08-07Revert "[Indic] don't apply 'calt' by default in Indic shaper"Behdad Esfahbod1-4/+0
This reverts commit 952121007c6f6f374e4cf1734ebcfe2d2d71c71c. In light of discussion on the mailing list...
2013-08-07[uniscribe] Support feature rangesBehdad Esfahbod1-33/+199
As Khaled pointed out, right now setting any features, turns kern and possibly other features off.
2013-08-06[uniscribe] Half-support user featuresBehdad Esfahbod1-11/+43
Turning features on globally works now.
2013-08-06MinorBehdad Esfahbod1-3/+11
2013-08-06[Indic] don't apply 'calt' by default in Indic shaperJonathan Kew1-0/+4
2013-08-05Fix glyph closure with class==0Behdad Esfahbod1-0/+29
As reported by cibu. Untested.
2013-08-04Don't apply 'dlig' by defaultBehdad Esfahbod1-1/+0
Windows 8 doesn't, and the spec will be fixed.
2013-07-30MinorBehdad Esfahbod1-6/+6
2013-07-30[CoreText] Don't leak the CTLine object (and everything that hangs off it)Behdad Esfahbod1-0/+2
Patch from Jonathan Kew.
2013-07-26Apply 'mark' to MyanmarBehdad Esfahbod1-11/+0
According to Andrew Glass: "The issue with Myanmar <mark> feature was fixed via a servicing patch as soon as Windows 8 became available."
2013-07-22Fix glyph closure recursion!Behdad Esfahbod1-1/+1
2013-07-22MinorBehdad Esfahbod1-1/+1
2013-07-22[uniscribe] Sanitize font fileBehdad Esfahbod1-0/+4
2013-07-22[uniscribe] Handle TTC when renaming fontBehdad Esfahbod1-13/+18
2013-07-21[uniscribe] Use OT::* typesBehdad Esfahbod3-55/+66
2013-07-21[uniscribe] Move name generation into separate functionBehdad Esfahbod1-12/+22
2013-07-21[uniscribe] Use blob to pass data aroundBehdad Esfahbod1-14/+14
2013-07-21[uniscribe] Use unique font nameBehdad Esfahbod1-21/+115
When installing per-process fonts using AddFontMemResourceEx(), if a font with the same family name is already installed, sometimes that one gets used. Which is problematic for us. As such, we now mangle the font to install a new 'name' table with a unique name, which we then use to choose the font. Patch from Jonathan Kew.
2013-07-18Followup fix for 3f9e2dced298c3d00f31b2dfc38685bb071a3a22Behdad Esfahbod1-0/+8
During GSUB, if a ligation happens, subsequence context input matching matches the new indexing. During GPOS however, the indices never change. So just go one by one. Fixes 'dist' positioning with mmrtext.ttf and the following sequence: U+1014,U+1039,U+1011,U+1014,U+1039,U+1011,U+1014,U+1039,U+1011 Reported by Jonathan Kew.
2013-07-11[ft] hb_ft_get_glyph_from_name fails for the name of glyph id 0Behdad Esfahbod1-0/+9
Based on patch from Jonathan Kew, as reported on the mailing list.
2013-07-08[uniscribe] Fix buffer allocationBehdad Esfahbod1-1/+0
Email from Jonathan Kew: My cygwin build kept aborting on certain test words when run with the uniscribe backend. Turned out this was caused by a bug in the allocation of scratch buffers in hb-uniscribe.cc. Commit 2a17f9568d9724e045d2c1d660e007f3acd747d9 introduced a new line ALLOCATE_ARRAY (SCRIPT_VISATTR, vis_attr, glyphs_size); but it failed to account for this in the computation of glyphs_size (the number of glyphs for which scratch buffer space is available), with the result that the vis_clusters array ends up overrunning the end of the scratch buffer and clobbering the beginning of the buffer's info[]. AFAICS, the vis_attr array is not actually used, so the simple fix is to remove the line that allocates it. (If/when we -do- need to use vis_attr for something, we'll need to add another term to the earlier calculation of glyphs_size.) With this patch, the uniscribe backend runs reliably again. JK
2013-06-26[Indic] Add Javanese configBehdad Esfahbod1-0/+1
We should add for other scripts too, send me the virama codepoint and script name...
2013-06-26[OT] Collect requiredFeature only if features are not providedBehdad Esfahbod1-11/+11
As per Werner's report on the list.
2013-06-26Fix contextual lookup recursion indexingBehdad Esfahbod1-8/+2
See email thread "Skipping Control for Attaching Marks using OpenType" from earlier this month.
2013-06-21Destroy lookups before blobs.Bradley Grainger1-4/+4
'layout->gsub' may depend on data owned by 'layout->gsub_blob', so it must be deinitialized before the blob is destroyed.
2013-06-13If variation selector is not consumed by cmap, pass it on to GSUBBehdad Esfahbod2-4/+13
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...
2013-06-10Skip over multiple variation selectors in a rowBehdad Esfahbod1-0/+6