Behdad Esfahbod
988165021f
Disable internal buffer variable bookkeeping in NDEBUG builds
...
Saves some sweet time and binary size!
2016-02-25 12:23:02 +09:00
Chun-wei Fan
c679285455
build: Build the DirectWrite sources if requested
...
This adds to the autotools build system so that the (experimental)
DirectWrite support for HarfBuzz is built (and dist'ed).
2016-02-03 20:14:42 +08:00
Chun-wei Fan
35ded3af74
build: Move source listings into separate Makefile snippets
...
This moves all the source listings in src/Makefile.am,
src/hb-ucdn/Makefile.am and util/Makefile.am into separate Makefile
snippets, so that they may be shared between different Makefile-based
build systems, such as NMake for Visual Studio.
2016-02-03 18:14:29 +08:00
Behdad Esfahbod
e1d4d0f1db
Merge branch 'font-extents'
...
Fixes https://github.com/behdad/harfbuzz/pull/165
2015-12-10 16:56:07 +01:00
Behdad Esfahbod
70952ddb5a
Add test to make sure ot-languages array is sorted
...
Currently fails. Part of
https://bugs.freedesktop.org/show_bug.cgi?id=93275
2015-12-07 10:28:46 +01:00
Simon Cozens
097c998a0c
Parse the OS/2 table.
2015-11-26 19:58:13 -05:00
Behdad Esfahbod
0e38c918b6
[introspection] Make scanner happy with HB_EXTERN
2015-11-26 19:26:26 -05:00
Behdad Esfahbod
63fe05c8b1
Fix make distcheck
2015-11-18 23:52:51 -08:00
Behdad Esfahbod
ff16ef3379
Enable building a bounded version of the library for fuzzing
...
test/fuzzing/hb-fuzzer links against libharfbuzz-fuzzing.so now.
2015-11-18 16:27:32 -08:00
Behdad Esfahbod
b50fcfa829
[ot-font] Implement glyph_extents() for TrueType fonts
...
This brings ot-fonts into almost-complete shape and mostly in par with
ft font.
2015-08-23 14:42:20 +01:00
Behdad Esfahbod
ddd6bf12f1
Don't declare dependency on freetype in harfbuzz.pc
...
See comments.
2015-08-18 15:55:09 +01:00
Behdad Esfahbod
539a610e2e
Add Libs.private and Requires.private to harfbuzz.pc
...
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=64501
2015-08-11 12:58:49 +02:00
Behdad Esfahbod
bd22a5cfae
Bug 91559 - HarfBuzz 1.0.1: Inconsistent DLL files specified/created...
...
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=91559
2015-08-07 11:13:27 +02:00
Behdad Esfahbod
260442346a
1.0.0
2015-07-26 23:39:10 +02:00
Behdad Esfahbod
9daf2dfb6b
Add hb-ot-shape-complex-arabic-private.hh
2015-07-22 10:49:13 +01:00
Behdad Esfahbod
21cb08a417
Remove unused SEA shaper
2015-07-21 17:47:06 +01:00
Behdad Esfahbod
20e246e674
[USE] Start moving Unicode-to-USE mapping into Python code
2015-07-20 15:56:19 +01:00
Behdad Esfahbod
fd74b939b1
Minor
2015-07-20 13:30:45 +01:00
Behdad Esfahbod
e2c95116e1
[USE] Add Universal Shaping Engine to Makefile
2015-07-20 11:33:27 +01:00
Behdad Esfahbod
7988da24c5
Add convenience make target "make lib" in src/
2015-01-21 18:33:50 -08:00
Behdad Esfahbod
c0b82ba32a
Create ragel-generated files in srcdir
2014-10-01 14:24:07 -04:00
Behdad Esfahbod
79bbb10b0d
Clean ragel-generated headers in maintainercleanfiles
2014-10-01 13:33:21 -04:00
Behdad Esfahbod
8971cac83e
Don't use tmp files in Makefile
...
Useful for code-coverage generation of the ragel-generated files
as they will now contain the correct .hh filename in them.
2014-10-01 12:42:16 -04:00
Behdad Esfahbod
f28b1c823d
[arabic] Implement Windows-1256 private shaping
...
Bug 1045139 - The Arabic text with "MS Sans Serif" font is rendered bad
https://bugzilla.mozilla.org/show_bug.cgi?id=1045139
This is only enabled on Windows platforms, and requires support from
Uniscribe to work. But for clients that do hook up to Uniscribe, this
fixes shaping of Windows-1256-encoded bitmap fonts like "MS Sans Serif".
The code and table together have just less than a 1kb footprint when
enabled.
UNTESTED. I might even have broken regular Arabic fallback shaping.
2014-07-31 18:58:24 -04:00
Behdad Esfahbod
d6d349d178
Give CC to gir-scanner
...
From:
https://github.com/Alexpux/MINGW-packages/blob/master/mingw-w64-harfbuzz/0001-give-cc-to-gir-scanner.all.patch
2014-07-23 11:38:49 -04:00
Behdad Esfahbod
3f5327a41e
[arabic-table] Read Blocks.txt and shuffle code around
...
No functional change.
2014-06-20 16:17:42 -04:00
Behdad Esfahbod
41ca1fbebf
[ot] Start implementing cmap table
2014-05-09 15:35:56 -04:00
Behdad Esfahbod
903648437c
Start fleshing out builtin font functions
2014-03-24 15:19:15 -07:00
Behdad Esfahbod
343a0e4e74
Add "make built-sources"
2014-03-21 14:37:27 -07:00
Behdad Esfahbod
bb8ffb581b
Use AM_MISSING_PROG for ragel and git
2014-03-04 13:03:51 -08:00
Konstantin Ritt
c9522de233
Make it possible to disable the fallback shaper at configure time
...
The OT shaper supersedes the fallback shaper in every case
and the latter become an extra weight for 99.9% of users.
2014-01-28 11:13:53 -05:00
Behdad Esfahbod
f14bb7de63
[ot] Separate out hebrew and tibetan shapers from default
...
Now default shaper is truly no-op.
2013-12-31 16:49:15 +08:00
Behdad Esfahbod
c98b7183f7
[ot] Add Hangul shaper
...
Not exhaustively tested, but I think I got the intended logic
right.
The logic can perhaps be simplified. Maybe we should disabled
normalization with this shaper. Then again, for now focusing on
correctness.
2013-12-31 16:23:48 +08:00
Luis de Bethencourt
fbd4acc58a
Clean ht-ob headers
2013-12-22 22:52:57 -05:00
Behdad Esfahbod
2af8262963
Improve library checks
2013-09-16 22:03:59 -04:00
Behdad Esfahbod
dfdbe7f932
[introspection] Make hb_blob_create() introspectable
2013-09-12 20:52:20 -04:00
Behdad Esfahbod
6c48f20eea
[otlayout] Add structs for JSTF table
2013-09-09 15:43:10 -04:00
Behdad Esfahbod
e0dbf99b44
[introspection] Pass source files to scanner
2013-09-05 16:18:45 -04:00
Behdad Esfahbod
213001aa99
[build] Fix EXTRA_DIST
...
I was under the impression that EXTRA_DISTs will happen regardless of
automake conditionals. Apparently I was wrong.
2013-09-03 20:00:16 -04:00
Behdad Esfahbod
ac1b723917
Remove hb-old and hb-icu-le test shapers
...
They've been disabled for a while and no one cared. We're past
the point to need them for testing, and if we ever need to
resurrect them again, well, they're in git graveyard somewhere.
2013-08-30 19:32:10 -04:00
Behdad Esfahbod
b94243d6a9
[g-i] Rename library from harfbuzz to HarfBuzz
2013-08-30 18:41:33 -04:00
Behdad Esfahbod
71ef22b04d
Turn hb-gobject, and introspection off by default
...
Also enable bootstrapping without them.
2013-08-28 12:52:55 -04:00
Behdad Esfahbod
d8f507099b
Hookup harfbuzz-gobject to introspection
2013-08-28 12:38:37 -04:00
Behdad Esfahbod
71439a8c7a
[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.
2013-08-28 12:38:37 -04:00
Behdad Esfahbod
23027f7611
[introspection] Enable gobject-introspection again
2013-08-28 12:38:37 -04:00
Behdad Esfahbod
4dc798de19
Add hb-deprecated.h, and rename a couple enum values
...
Add deprecated alias for old name.
2013-08-27 11:46:08 -04:00
Behdad Esfahbod
2e3a07abdf
Separate face source code from font
...
Makes documentation / introspection easier.
2013-08-27 11:46:08 -04:00
Anthony Carrico
f7c72b42ef
[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.
2013-08-26 17:32:30 -04:00
Behdad Esfahbod
2fd0e02706
Minor
2013-06-06 17:16:01 -04:00
Behdad Esfahbod
d70be29831
Fix dist
2013-05-28 17:27:31 -04:00
Behdad Esfahbod
22ce096174
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.
2013-05-28 17:18:30 -04:00
Behdad Esfahbod
d9afa11133
Build hb-icu into libharfbuzz-icu.so
2013-05-28 15:27:40 -04:00
Behdad Esfahbod
cd54d505d1
Fix distcheck
2013-03-04 21:29:38 -05:00
Behdad Esfahbod
20b817ac21
[buffer] Implement buffer deserialization for format=json
...
Using a ragel machine.
2013-02-27 18:49:18 -05:00
Behdad Esfahbod
847794e929
[buffer] Implement buffer deserialization for format=text
...
Using a ragel machine.
2013-02-27 18:49:18 -05:00
Behdad Esfahbod
e54dd26300
[buffer] Start implementing buffer deserialization
2013-02-27 18:49:13 -05:00
Behdad Esfahbod
d3e14aafff
[buffer] Move buffer serialization code to a new file
2013-02-27 18:49:05 -05:00
Behdad Esfahbod
3a83d33ec0
Add South-East Asian shaper
...
Handles Tai Tham, Cham, and New Tai Lue for now.
2013-02-12 12:14:10 -05:00
Behdad Esfahbod
98628cac9f
Add Win8-style Myanmar shaper
...
Myanmar failures down from 51% to 0.00204648%!
MYANMAR: 1123860 out of 1123883 tests passed. 23 failed (0.00204648%)
2013-02-11 14:20:08 -05:00
Behdad Esfahbod
adff377815
Revert "[Indic] Import ragel-generated Indic machine in git"
...
This reverts commit fab7a71f11
.
Conflicts:
src/hb-ot-shape-complex-indic-machine.hh
Keeping that generated file in-tree causes problems with processes like
tinderbox that automatically fetch and build harfbuzz. It's harder to
bootstrap harfbuzz now (as was previously), but I'm willing to give this
another chance and see how it goes.
2013-02-06 23:43:27 -05:00
Behdad Esfahbod
9de5f98f36
Bug 60035 - intermittent make install failure on hb-version.h
2013-02-04 23:28:22 -05:00
Behdad Esfahbod
bafdf3d983
Merge check-internal-symbols.sh and check-exported-symbols.sh
2013-02-04 23:06:50 -05:00
Behdad Esfahbod
e78463211e
Fix linking with non-gcc compilers
2013-01-14 00:27:21 -06:00
Behdad Esfahbod
b68b86daf1
Use C++ linker if ICU is disabled
...
Bug 54948 - Undefined symbols: "operator delete(void*)" "operator
new(unsigned long)" "___cxa_pure_virtual"
2012-12-18 20:39:40 -05:00
Behdad Esfahbod
0f3f529904
Add test-size-params
...
Eventually this will become part of a yet-to-be-written hb-ot cmdline
tool.
2012-11-30 09:06:59 +02:00
Behdad Esfahbod
f30641038b
Bunch of independent changes (ouch)
...
API additions:
hb_segment_properties_t
HB_SEGMENT_PROPERTIES_DEFAULT
hb_segment_properties_equal()
hb_segment_properties_hash()
hb_buffer_set_segment_properties()
hb_buffer_get_segment_properties()
hb_ot_layout_glyph_class_t
hb_shape_plan_t
hb_shape_plan_create()
hb_shape_plan_create_cached()
hb_shape_plan_get_empty()
hb_shape_plan_reference()
hb_shape_plan_destroy()
hb_shape_plan_set_user_data()
hb_shape_plan_get_user_data()
hb_shape_plan_execute()
hb_ot_shape_plan_collect_lookups()
API changes:
Rename hb_ot_layout_feature_get_lookup_indexes() to
hb_ot_layout_feature_get_lookups().
New header file:
hb-shape-plan.h
And a bunch of prototyped but not implemented stuff. Coming soon.
(Tests fail because of the prototypes right now.)
2012-11-15 18:48:10 -08:00
Behdad Esfahbod
43f04a7456
Move Thai shaper into a separate file
2012-11-14 15:51:54 -08:00
Behdad Esfahbod
e9334ce97b
Break build when ragel is needed and missing
2012-11-12 14:57:02 -08:00
Behdad Esfahbod
3f33f0d1f2
Import UCDN into source tree
...
https://github.com/grigorig/ucdn
2012-10-02 16:23:29 -04:00
Behdad Esfahbod
66efe89648
Check for pthreads
2012-10-02 14:55:32 -04:00
Behdad Esfahbod
7f19ae7b9f
[buffer] Templatize UTF handling
...
Also move UTF routines into a separate file, to be reused from shapers
that need it.
2012-09-25 11:23:55 -04:00
Behdad Esfahbod
54d5da4ee9
Remove unused indic.cc
2012-09-25 10:51:42 -04:00
Behdad Esfahbod
fab7a71f11
[Indic] Import ragel-generated Indic machine in git
...
I don't expect ragel to be creating too much noise in its generated
output, and including this in-tree helps users right now. We can
revisit this later if it proved to be too much trouble.
2012-09-24 21:51:13 -04:00
Behdad Esfahbod
20a840c7cd
Use a C++ linker on Windows
...
On Windows we don't care whether or not we link to libstdc++.
Seems to fix build with mingw32 on msys, as reported by Werner.
2012-09-24 20:23:00 -04:00
Behdad Esfahbod
eb7669a380
Better autofoo
2012-09-18 19:42:06 -04:00
Behdad Esfahbod
d00f7d8375
Fix dependencies
2012-09-17 20:59:09 -04:00
Behdad Esfahbod
fabd3113a9
[OT] Port Arabic fallback shaping to synthetic GSUB
...
All of init/medi/fina/isol and rlig implemented.
Let there be dragons... ⻯
2012-09-06 00:51:44 -04:00
Behdad Esfahbod
d59e28e492
Minor
2012-08-28 19:08:36 -04:00
Behdad Esfahbod
7d242364ea
[icu-le] Start adding a icu-layout-engine backend
...
Import PortableFontInstance and add shaper stub.
2012-08-24 00:00:29 -04:00
Behdad Esfahbod
a02d86484b
Add check-exported-symbols.sh
...
And misc linking fixes.
2012-08-08 18:04:29 -04:00
Behdad Esfahbod
560d68af81
Use a export-file for Windows builds
...
Apparently even that doesn't make check-internal-symbols.sh happy with
mingw32. Going to disable that for DLLs again, but hopefully the
export-file is doing *something*.
2012-08-08 17:16:01 -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
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
8fe4c7405b
[hb-old] Add HarfBuzz.old shaper
...
Choose using shaper name "old".
2012-07-25 11:11:22 -04:00
Behdad Esfahbod
1512a73575
[hb-old] Start adding HarfBuzz-old as a new backend
2012-07-25 11:11:16 -04:00
Jonathan Kew
aa6d849838
[CoreText] Add basic Core Text backend for comparison with our native shaping
...
Does not attempt to handle clusters in a Uniscribe- or HarfBuzz-compatible way;
just returns the original string indexes that CT maintains. These may even be
out-of-order in the case of reordrant glyphs.
2012-07-24 15:52:32 -04:00
Behdad Esfahbod
be73a5f936
Add src/test-would-substitute tool
2012-07-19 15:12:18 -04:00
Behdad Esfahbod
11c4ad439e
Add -Wcast-align
2012-07-13 11:29:31 -04:00
Behdad Esfahbod
8c0ea7bcb4
Disable introspection again
...
Until I figure out the build issues. Sigh...
2012-06-24 13:20:56 -04:00
Behdad Esfahbod
84d781e54c
Flesh out gobject-introspection stuff a bit
2012-06-16 15:21:41 -04:00
Behdad Esfahbod
4508789f4b
Add test for static initializers and other C++ stuff
2012-06-08 21:32:43 -04:00
Behdad Esfahbod
61eb60c129
Don't link to libstdc++
...
New try.
2012-06-05 21:22:36 -04:00
Behdad Esfahbod
20fdb0f41d
Add a lock-free cache type for int->int functions
...
To be used for cmap and advance caching if desired.
2012-05-17 22:04:45 -04:00
Behdad Esfahbod
ec3ba4b96f
Move atomic ops into their own header
2012-05-17 20:30:46 -04:00
Behdad Esfahbod
0b08adb353
Add hb_set_t
2012-04-23 22:44:59 -04:00
Behdad Esfahbod
3ed4634ec3
Add Indic inspection tool
2012-04-19 22:35:01 -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
ae4a2b9365
Generate fallback Arabic shaping table
...
Not hooked up yet.
2012-04-10 16:25:08 -04:00