Commit Graph

5509 Commits

Author SHA1 Message Date
Behdad Esfahbod 6fb4ac73f9 Add popcount for 64bit ints 2017-10-15 16:00:09 +02:00
Behdad Esfahbod 473b17af4d Remove unused hb_cache_t 2017-10-15 14:11:09 +02:00
Behdad Esfahbod a433e60a43 Remove unused hb_frozen_set_t 2017-10-15 14:09:46 +02:00
Behdad Esfahbod 826a1daf2f Move set-digests into their own header file 2017-10-15 14:09:05 +02:00
Behdad Esfahbod 3c13e153fe Try fixing AppVeyor bots 2017-10-15 14:02:58 +02:00
Behdad Esfahbod 7e3015a315 Fix warnings 2017-10-15 12:13:19 +02:00
Behdad Esfahbod 2075008f3e Use C++11 2017-10-15 12:12:10 +02:00
Behdad Esfahbod dbdbfe3d7b Use nullptr instead of NULL 2017-10-15 12:11:08 +02:00
Behdad Esfahbod fbb937b680 Don't use NULL in public headers 2017-10-15 12:04:16 +02:00
Behdad Esfahbod c3448e8d21 Use static_assert instead of custom ASSERT_STATIC 2017-10-15 12:02:00 +02:00
Behdad Esfahbod 76dcbf8b23 Add polyfill for static_assert and nullptr
Also fix hb_assert_constant_t.
2017-10-15 11:24:35 +02:00
Behdad Esfahbod dad431e75b [util] Include hb-private.hh
Simplifies compatibility issues by centralizing all boilerplate code
in hb-private.hh.
2017-10-15 10:55:32 +02:00
Behdad Esfahbod 81e2b9b8a9 Never skip over CGJ
We might want to tweak this some more.  For now, never skipping over
it is better behavior than always skipping.

Part of https://github.com/behdad/harfbuzz/issues/554
2017-10-15 10:49:06 +02:00
Behdad Esfahbod 25846cc39f 1.6.0 2017-10-13 16:30:33 +02:00
Behdad Esfahbod 74f1b88e37 [ucdn] Fix compiler warnings 2017-10-13 11:01:55 +02:00
Behdad Esfahbod c2cf68dbdf [coretext] Fix build 2017-10-13 10:30:19 +02:00
Behdad Esfahbod 95883fc5d4 [coretext] Pass correct font size to CoreText
CoreText "point"s are not typographic points, but CSS pixels.  Ie.
they are 96 per inch, not 72 per inch.
2017-10-13 10:22:20 +02:00
Behdad Esfahbod 4f9a83ec21 Merge remote-tracking branch 'origin/master' 2017-10-12 14:08:58 +02:00
Behdad Esfahbod fa48ccbe12 [indic] Special-case Kannada Ra,H,ZWJ sequence
Fixes https://github.com/behdad/harfbuzz/issues/435
2017-10-12 14:07:37 +02:00
n8willis 40b05d7b77 Replacing 'cluster' with 'syllable' when comments describe certain Indic shaping behavior (#563)
* Clarified wording of syllable/cluster behavior in Uniscribe in final_reordering; changed one other probable typo.

* Additional syllable/cluster swap in comments for final reordering and for initial-reordering matra decomposition.
2017-10-12 13:48:48 +02:00
ebraminio 6bac4ac2be Minor BUILD.md fix (#565) 2017-10-12 13:45:49 +02:00
Behdad Esfahbod 8923033eb2 [coretext] Use fabs() to silence compiler warning 2017-10-12 12:02:04 +02:00
Dominik Röttsches dd4b321b4a [coretext] Activate tracking for system fonts
Another attempt at fully fixing
https://github.com/behdad/harfbuzz/issues/360
2017-10-12 11:54:17 +02:00
Khaled Hosny 6760021d6f CMakelists.txt fix for Freetype builds (#564)
Instead of searching for freetype using pkg-config, use the FindFreetype
feature of CMake. This allows for better integration with other projects
that make use of CMake.

Fixes https://github.com/behdad/harfbuzz/issues/518
2017-10-12 12:35:08 +03:30
Behdad Esfahbod 6a2cbc6ef5 [coretext] Use fabsf() instead of abs()
Fixes bots.

Link libharfbuzz.so with -lm.  Surprising that we survived without
it so far!
2017-10-12 10:46:09 +02:00
ebraminio dfeccd073a Remove nmake port of harfbuzz (#562) 2017-10-12 10:41:47 +02:00
Behdad Esfahbod 4e4781319b [ft] Add hb_ft_font_changed()
When the font size or variations settings on underlying FT_Face change,
one can call hb_ft_font_changed() and continue using hb_font created using
hb_ft_font_create().

Fixes https://github.com/behdad/harfbuzz/issues/559

New API:
hb_ft_font_changed()
2017-10-12 10:33:16 +02:00
Behdad Esfahbod 94b3cafc3a Add hb_face_get_table_tags()
New API:
hb_face_get_table_tags()

Fixes https://github.com/behdad/harfbuzz/issues/560
2017-10-11 17:22:44 +02:00
Behdad Esfahbod e1b6d92302 Remove cast of functions to (hb_destroy_func_t)
Fixes https://github.com/behdad/harfbuzz/issues/474
2017-10-11 15:51:31 +02:00
Behdad Esfahbod 717fcb51dd [coretext] Minor 2017-10-11 15:38:21 +02:00
Behdad Esfahbod 374bb48d90 Change ptem API to make 0 mean unset 2017-10-11 15:37:50 +02:00
Behdad Esfahbod 06c14225b2 [coretext] Minor 2017-10-11 15:29:53 +02:00
Behdad Esfahbod a4b46212c5 [coretext] Adjust font size check for 0 2017-10-11 15:29:22 +02:00
Behdad Esfahbod 269cf1ca82 Correctly initialize ptem 2017-10-11 15:24:22 +02:00
Behdad Esfahbod 84686bf4c7 [coretext-aat] Also pass through CoreText if font has kerx table
SFNSText has kerx table which apparently is applied.
2017-10-11 15:02:48 +02:00
Behdad Esfahbod 296d0134c9 [coretext] Change default point size to 12 2017-10-11 14:09:30 +02:00
Behdad Esfahbod 7b23c286a7 Merge branch 'coretext-optical-sizing'
Should fix https://github.com/behdad/harfbuzz/issues/360
2017-10-11 13:35:32 +02:00
Dominik Röttsches a5ebe1d4ae [coretext] Recreate CTFont if pt size changed
Attempt at fixing #360
2017-10-11 13:33:05 +02:00
Dominik Röttsches db7a73ce07 [coretext] Fix build 2017-10-11 13:24:48 +02:00
Behdad Esfahbod f334130756 [coretext] Another try 2017-10-11 13:17:46 +02:00
Behdad Esfahbod a8e466c3c1 [coretext] Move CT_Font to font data
Towards implementing optical sizing.  Untested; won't compile.

https://github.com/behdad/harfbuzz/issues/360
2017-10-11 13:05:59 +02:00
Behdad Esfahbod f9b4c6570a [coretext] Move font size to a macro 2017-10-11 12:51:25 +02:00
Behdad Esfahbod 8d450dd188 Infrastructure for creating CTFont with correct font size
https://github.com/behdad/harfbuzz/issues/360
2017-10-11 12:43:46 +02:00
Behdad Esfahbod 16d02a58cf [coretext] Change default font size from 36 to 18 2017-10-11 12:28:06 +02:00
Behdad Esfahbod c0c2dbc871 Remove dirty tracking
Turns out I don't need this to resolve CoreText optical sizing
issue after all.

https://github.com/behdad/harfbuzz/issues/360
2017-10-11 12:23:35 +02:00
Behdad Esfahbod b57f18da70 Add hb_font_[sg]et_ptem() to set/get point size on font
New API:
hb_font_set_ptem()
hb_font_get_ptem()

Needed for hb-coretext optical sizing:
https://github.com/behdad/harfbuzz/issues/360
2017-10-11 11:47:47 +02:00
Behdad Esfahbod 3f9370d9e5 Fix TODO item 2017-10-11 11:34:53 +02:00
Behdad Esfahbod 5f50f8837f [arabic] Fix cluster merging 2017-10-07 13:17:33 +02:00
Behdad Esfahbod c2545b9215 Add check for HB_EXTERNs
https://github.com/behdad/harfbuzz/pull/555
2017-10-07 12:57:30 +02:00
fanc999 48a9406839 Fix build of HarfBuzz tools and HarfBuzz-GObject on Visual Studio (#555)
* hb-buffer.h: Mark hb_buffer_diff() for export

This will fix the tools builds on Visual Studio, as the symbol is used
by the tools.

* build: Adapt NMake Makefiles for GLib 2.53.4 or later

glib-mkenums was ported from a PERL script to a Python script, so we
need to update how we generate the enum sources for HarfBuzz-GObject in
the NMake builds.  Let this be known in the build documentation for MSVC
builds.

One of the problems with the underlying cmd.exe that the NMake Makefiles
run on is that shebang lines are not recognized, so we need to to test
run the script with Python and see whether it succeeded by outputing a
source file that is larger than 0 in file size (since running the PERL
version of the script will clearly fail and cause an empty file to be
created).

If it succeeds, we then run a small Python utility script that makes the
necessary string replacements, and we are done.  If that fails, then we
run the glib-mkenums script with PERL, and do the replacements with the
PERL one-liners as we did before.

We need to make replace.py use latin-1 encoding when using Python 3.x to
cope with the copyright sign that is in the generated enum sources.
2017-10-07 12:57:14 +02:00