Behdad Esfahbod [Thu, 29 Aug 2013 19:56:16 +0000 (15:56 -0400)]
[gtk-doc] Fix build without gobject
Behdad Esfahbod [Wed, 28 Aug 2013 17:43:54 +0000 (13:43 -0400)]
Remove gtk-doc.make
It's copied by gtk-docize.
Behdad Esfahbod [Wed, 28 Aug 2013 17:43:35 +0000 (13:43 -0400)]
Fix build
Behdad Esfahbod [Wed, 28 Aug 2013 16:52:55 +0000 (12:52 -0400)]
Turn hb-gobject, and introspection off by default
Also enable bootstrapping without them.
Behdad Esfahbod [Tue, 27 Aug 2013 01:26:24 +0000 (21:26 -0400)]
Hookup harfbuzz-gobject to introspection
Behdad Esfahbod [Tue, 27 Aug 2013 00:56:58 +0000 (20:56 -0400)]
[gobject] Flesh out hb-gobject
Move it to new harfbuzz-gobject library. Implement enums and
boxed types for object-types. Still have to do boxed types for
value types.
Behdad Esfahbod [Thu, 22 Aug 2013 23:03:21 +0000 (19:03 -0400)]
[introspection] Enable gobject-introspection again
Behdad Esfahbod [Wed, 28 Aug 2013 16:35:13 +0000 (12:35 -0400)]
[uniscribe] Fixed build with wide chars
https://github.com/blinkseb/harfbuzz/commit/
f65dafa4138e1fb4395bf646fa33bb01a86a7e9a
Behdad Esfahbod [Tue, 27 Aug 2013 00:39:00 +0000 (20:39 -0400)]
Add hb-deprecated.h, and rename a couple enum values
Add deprecated alias for old name.
Behdad Esfahbod [Mon, 26 Aug 2013 22:49:07 +0000 (18:49 -0400)]
Separate face source code from font
Makes documentation / introspection easier.
Behdad Esfahbod [Tue, 27 Aug 2013 01:15:29 +0000 (21:15 -0400)]
Improve check-includes.sh
Behdad Esfahbod [Mon, 26 Aug 2013 23:20:38 +0000 (19:20 -0400)]
Minor
Behdad Esfahbod [Mon, 26 Aug 2013 22:50:12 +0000 (18:50 -0400)]
[gtk-doc] Fix maintainer-clean rule
Behdad Esfahbod [Tue, 27 Aug 2013 15:44:09 +0000 (11:44 -0400)]
Fix possible snprintf OOM
https://bugzilla.redhat.com/show_bug.cgi?id=1001645
Behdad Esfahbod [Mon, 26 Aug 2013 22:46:21 +0000 (18:46 -0400)]
[check-*] Minor
Behdad Esfahbod [Mon, 26 Aug 2013 22:11:07 +0000 (18:11 -0400)]
[gtk-doc] Remove tmpl in make maintainer-clean
Behdad Esfahbod [Mon, 26 Aug 2013 21:58:25 +0000 (17:58 -0400)]
[git.mk] Update
Behdad Esfahbod [Mon, 26 Aug 2013 21:49:36 +0000 (17:49 -0400)]
Add HB_DISABLE_DEPRECATED
That moment that you have to accept that you made API mistakes...
Behdad Esfahbod [Mon, 26 Aug 2013 21:34:18 +0000 (17:34 -0400)]
[travis] Add graphite2
Anthony Carrico [Sun, 24 Feb 2013 18:00:33 +0000 (13:00 -0500)]
[gtk-doc] Initial setup
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.
Behdad Esfahbod [Wed, 21 Aug 2013 21:22:21 +0000 (17:22 -0400)]
[uniscribe] Ask Uniscribe to return shaping results in logical order
See discussion on the list in the thread "Arabic presentation forms
and the uniscribe backend".
Based on patch from Jonathan Kew.
Behdad Esfahbod [Tue, 20 Aug 2013 17:22:21 +0000 (13:22 -0400)]
[uniscribe] Print run info
Behdad Esfahbod [Mon, 12 Aug 2013 04:33:28 +0000 (00:33 -0400)]
[coretext] Fully support user features
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.
Behdad Esfahbod [Fri, 9 Aug 2013 18:34:54 +0000 (14:34 -0400)]
Clean up list of Unicode scripts
Rename HB_SCRIPT_CANADIAN_ABORIGINAL to HB_SCRIPT_CANADIAN_SYLLABICS
and a macro for the old name.
Behdad Esfahbod [Fri, 9 Aug 2013 13:41:48 +0000 (09:41 -0400)]
Update TODO
Behdad Esfahbod [Fri, 9 Aug 2013 13:40:59 +0000 (09:40 -0400)]
Fix compiler warning
Behdad Esfahbod [Fri, 9 Aug 2013 13:40:01 +0000 (09:40 -0400)]
Round when scaling values
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).
Behdad Esfahbod [Fri, 9 Aug 2013 13:35:10 +0000 (09:35 -0400)]
Minor
Behdad Esfahbod [Fri, 9 Aug 2013 13:31:06 +0000 (09:31 -0400)]
Minor
Behdad Esfahbod [Fri, 9 Aug 2013 13:28:32 +0000 (09:28 -0400)]
Remove vrt2, vkrn, vpal, and valt from default vertical features
See thread by John Dagget on the list.
Behdad Esfahbod [Thu, 8 Aug 2013 01:08:54 +0000 (21:08 -0400)]
[coretext] Start adding support for features
Unlike AAT, looks like with CoreText very few OT features can be mapped.
:(
Behdad Esfahbod [Wed, 7 Aug 2013 21:58:25 +0000 (17:58 -0400)]
Revert "[Indic] don't apply 'calt' by default in Indic shaper"
This reverts commit
952121007c6f6f374e4cf1734ebcfe2d2d71c71c.
In light of discussion on the mailing list...
Behdad Esfahbod [Wed, 7 Aug 2013 21:26:13 +0000 (17:26 -0400)]
[uniscribe] Support feature ranges
As Khaled pointed out, right now setting any features, turns kern
and possibly other features off.
Behdad Esfahbod [Tue, 6 Aug 2013 20:53:56 +0000 (16:53 -0400)]
More git.mk updates
Behdad Esfahbod [Tue, 6 Aug 2013 19:19:23 +0000 (15:19 -0400)]
Update git.mk
Behdad Esfahbod [Tue, 6 Aug 2013 18:45:36 +0000 (14:45 -0400)]
[uniscribe] Half-support user features
Turning features on globally works now.
Behdad Esfahbod [Tue, 6 Aug 2013 18:28:12 +0000 (14:28 -0400)]
Minor
Jonathan Kew [Tue, 6 Aug 2013 14:36:14 +0000 (10:36 -0400)]
[Indic] don't apply 'calt' by default in Indic shaper
Behdad Esfahbod [Tue, 6 Aug 2013 02:44:18 +0000 (22:44 -0400)]
Fix glyph closure with class==0
As reported by cibu. Untested.
Behdad Esfahbod [Sun, 4 Aug 2013 20:55:21 +0000 (16:55 -0400)]
Don't apply 'dlig' by default
Windows 8 doesn't, and the spec will be fixed.
Behdad Esfahbod [Tue, 30 Jul 2013 22:25:39 +0000 (18:25 -0400)]
Minor
Behdad Esfahbod [Tue, 30 Jul 2013 18:48:23 +0000 (14:48 -0400)]
[CoreText] Don't leak the CTLine object (and everything that hangs off it)
Patch from Jonathan Kew.
Behdad Esfahbod [Mon, 29 Jul 2013 18:34:40 +0000 (14:34 -0400)]
Fix glyph name printing in hb-ot-shape-closure
Behdad Esfahbod [Fri, 26 Jul 2013 14:33:06 +0000 (10:33 -0400)]
Apply 'mark' to Myanmar
According to Andrew Glass: "The issue with Myanmar <mark> feature was
fixed via a servicing patch as soon as Windows 8 became available."
Behdad Esfahbod [Mon, 22 Jul 2013 23:07:53 +0000 (19:07 -0400)]
Fix glyph closure recursion!
Behdad Esfahbod [Mon, 22 Jul 2013 23:02:29 +0000 (19:02 -0400)]
Minor
Behdad Esfahbod [Mon, 22 Jul 2013 14:57:05 +0000 (10:57 -0400)]
[uniscribe] Sanitize font file
Behdad Esfahbod [Mon, 22 Jul 2013 14:52:12 +0000 (10:52 -0400)]
[uniscribe] Handle TTC when renaming font
Behdad Esfahbod [Sun, 21 Jul 2013 21:05:02 +0000 (17:05 -0400)]
[uniscribe] Use OT::* types
Behdad Esfahbod [Sun, 21 Jul 2013 20:22:10 +0000 (16:22 -0400)]
[uniscribe] Move name generation into separate function
Behdad Esfahbod [Sun, 21 Jul 2013 20:16:35 +0000 (16:16 -0400)]
[uniscribe] Use blob to pass data around
Behdad Esfahbod [Sun, 21 Jul 2013 20:06:49 +0000 (16:06 -0400)]
[uniscribe] Use unique font name
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.
Behdad Esfahbod [Thu, 18 Jul 2013 20:29:50 +0000 (16:29 -0400)]
Followup fix for
3f9e2dced298c3d00f31b2dfc38685bb071a3a22
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.
Behdad Esfahbod [Tue, 16 Jul 2013 20:06:27 +0000 (16:06 -0400)]
0.9.19
Behdad Esfahbod [Thu, 11 Jul 2013 18:56:45 +0000 (14:56 -0400)]
[ft] hb_ft_get_glyph_from_name fails for the name of glyph id 0
Based on patch from Jonathan Kew, as reported on the mailing list.
Behdad Esfahbod [Mon, 8 Jul 2013 14:37:15 +0000 (08:37 -0600)]
[uniscribe] Fix buffer allocation
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
Behdad Esfahbod [Thu, 27 Jun 2013 00:57:58 +0000 (20:57 -0400)]
[Indic] Add Javanese config
We should add for other scripts too, send me the virama codepoint
and script name...
Behdad Esfahbod [Thu, 27 Jun 2013 00:14:18 +0000 (20:14 -0400)]
[OT] Collect requiredFeature only if features are not provided
As per Werner's report on the list.
Behdad Esfahbod [Wed, 26 Jun 2013 23:46:55 +0000 (19:46 -0400)]
Fix contextual lookup recursion indexing
See email thread "Skipping Control for Attaching Marks using OpenType"
from earlier this month.
Behdad Esfahbod [Sat, 22 Jun 2013 15:04:05 +0000 (08:04 -0700)]
Merge pull request #3 from LogosBible/master
Destroy lookups before blobs.
Bradley Grainger [Fri, 21 Jun 2013 22:02:18 +0000 (15:02 -0700)]
Destroy lookups before blobs.
'layout->gsub' may depend on data owned by 'layout->gsub_blob', so it must
be deinitialized before the blob is destroyed.
Behdad Esfahbod [Thu, 13 Jun 2013 23:01:07 +0000 (19:01 -0400)]
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...
Behdad Esfahbod [Fri, 7 Jun 2013 00:17:32 +0000 (20:17 -0400)]
Skip over multiple variation selectors in a row
Behdad Esfahbod [Mon, 10 Jun 2013 18:39:51 +0000 (14:39 -0400)]
Fix misc warnings reported by cppcheck
https://bugs.freedesktop.org/show_bug.cgi?id=65544
Behdad Esfahbod [Mon, 10 Jun 2013 17:56:51 +0000 (13:56 -0400)]
Fix PKG_CHECK_MODULES usage
Oops.
Bug 65246 - Fix build without graphite2
Behdad Esfahbod [Thu, 6 Jun 2013 22:57:15 +0000 (18:57 -0400)]
Fix PKG_CHECK_MODULES usage
Bug 65246 - Fix build without graphite2
If we don't provide ACTION-IF-NOT-FOUND, configure aborts if it can't
find the libraries. We handle that ourselves so we don't want the
macro to abort.
Behdad Esfahbod [Thu, 6 Jun 2013 21:16:01 +0000 (17:16 -0400)]
Minor
Chun-wei Fan [Mon, 3 Jun 2013 09:55:29 +0000 (17:55 +0800)]
util/ansi-print.cc: Use fallback implementation for lround on MSVC
Unfortuately Visual Studio (still) does not support the C99 function
lround, so provide a fallback implementation for it.
Behdad Esfahbod [Mon, 3 Jun 2013 22:39:14 +0000 (18:39 -0400)]
Fix build for C89 compilers
Behdad Esfahbod [Mon, 3 Jun 2013 22:36:26 +0000 (18:36 -0400)]
Remove unnecessary stdint.h include
Chun-wei Fan [Mon, 3 Jun 2013 09:49:37 +0000 (17:49 +0800)]
hb-uniscribe.cc: Re-enable build under Visual Studio
-Declare hinstLib at the top of block
-Fix the definitions of the typedefs of ScriptItemizeOpenType,
ScriptShapeOpenType and ScriptPlaceOpenType
Behdad Esfahbod [Thu, 30 May 2013 22:04:24 +0000 (18:04 -0400)]
Fix ChangeLog regen
Behdad Esfahbod [Wed, 29 May 2013 19:30:54 +0000 (15:30 -0400)]
Update TODO
Behdad Esfahbod [Tue, 28 May 2013 21:34:37 +0000 (17:34 -0400)]
Fix test build
Behdad Esfahbod [Tue, 28 May 2013 21:33:16 +0000 (17:33 -0400)]
Minor
Behdad Esfahbod [Tue, 28 May 2013 21:28:59 +0000 (17:28 -0400)]
0.9.18
Behdad Esfahbod [Tue, 28 May 2013 21:23:56 +0000 (17:23 -0400)]
Fix dist
Behdad Esfahbod [Tue, 28 May 2013 21:18:30 +0000 (17:18 -0400)]
Generate harfbuzz-icu.pc
Currently it only works with ICU that has .pc files. I'll
wait till someone complains before fixing it for icu-config
systems.
Behdad Esfahbod [Tue, 28 May 2013 19:27:40 +0000 (15:27 -0400)]
Build hb-icu into libharfbuzz-icu.so
Behdad Esfahbod [Tue, 28 May 2013 19:25:06 +0000 (15:25 -0400)]
Minor
Behdad Esfahbod [Tue, 28 May 2013 17:10:51 +0000 (13:10 -0400)]
Bug 55494 - ScriptItemizeOpenType doesn't exists under Windows XP
Fallback to older API if OpenType variants are not available.
Behdad Esfahbod [Mon, 27 May 2013 23:43:48 +0000 (19:43 -0400)]
Add --with-cairo
Behdad Esfahbod [Mon, 27 May 2013 23:33:36 +0000 (19:33 -0400)]
Add --with-freetype
Defaults to auto.
Behdad Esfahbod [Mon, 27 May 2013 23:30:48 +0000 (19:30 -0400)]
Default glib to auto again
Behdad Esfahbod [Mon, 27 May 2013 23:29:09 +0000 (19:29 -0400)]
Add --with-coretext
Defaults to no.
Behdad Esfahbod [Mon, 27 May 2013 23:27:43 +0000 (19:27 -0400)]
Add --with-uniscribe
Defaults to no.
Behdad Esfahbod [Mon, 27 May 2013 23:10:33 +0000 (19:10 -0400)]
Disable UCDN if glib is available
We only want UCDN if we don't have any other Unicode provider.
I'm going to remove ICU from the list of default Unicode providers
as part of moving hb-icu into its own library. As such, the only
providers will be UCDN and glib.
Behdad Esfahbod [Mon, 27 May 2013 23:09:50 +0000 (19:09 -0400)]
Minor
Behdad Esfahbod [Mon, 27 May 2013 23:06:50 +0000 (19:06 -0400)]
Disable icu_le shaper
Will add a way to enable it later.
Behdad Esfahbod [Mon, 27 May 2013 23:05:23 +0000 (19:05 -0400)]
Remove icu-config fallback for icu_le shaper
Bug 64878 - compile error with ICU but not ICU
Behdad Esfahbod [Mon, 27 May 2013 23:04:40 +0000 (19:04 -0400)]
Bug 65053 - Add configure option to enable/disable ICU support
Behdad Esfahbod [Mon, 27 May 2013 22:54:30 +0000 (18:54 -0400)]
Disable hb-old shaper
Will add proper way to enable it later.
Behdad Esfahbod [Mon, 27 May 2013 22:47:58 +0000 (18:47 -0400)]
Bug 65054 - Add configure option to enable/disable Graphite2
Add --with-graphite2. Defaults to off.
Behdad Esfahbod [Mon, 27 May 2013 22:24:56 +0000 (18:24 -0400)]
Remove hb-icu dependency from hb-icu-le shaper
Behdad Esfahbod [Mon, 27 May 2013 18:48:34 +0000 (14:48 -0400)]
Don't zero advance of mark-non-mark ligatures
If there's a mark ligating forward with non-mark, they were
inheriting the GC of the mark and later get advance-zeroed.
Don't do that if there's any non-mark glyph in the ligature.
Sample test: U+1780,U+17D2,U+179F with Kh-Metal-Chrieng.ttf
Also:
Bug 58922 - Issue with mark advance zeroing in generic shaper
Behdad Esfahbod [Fri, 24 May 2013 19:28:11 +0000 (15:28 -0400)]
[icu_le] Support non-BMP text
Behdad Esfahbod [Thu, 23 May 2013 21:05:39 +0000 (17:05 -0400)]
[icu_le] A bit better scaling
Behdad Esfahbod [Thu, 23 May 2013 19:54:52 +0000 (15:54 -0400)]
Behdad Esfahbod [Thu, 23 May 2013 19:43:02 +0000 (15:43 -0400)]
[icu_le] Fix scaling
Seems to work...
Behdad Esfahbod [Tue, 21 May 2013 21:22:13 +0000 (17:22 -0400)]
Copy stdint.h boilerplate to ucdn