Commit Graph

392 Commits

Author SHA1 Message Date
Rod Sheeter 9ccb8366f6 Start to sketch APIs for subsetting 2018-02-04 12:57:33 -08:00
Ebrahim Byagowi 00806149b9
Improve avoiding C++ linkage, definition creation and cmake tests (#710) 2018-01-19 01:12:31 +03:30
Behdad Esfahbod 7c32e01d04 Minor 2018-01-11 10:47:31 +01:00
Ebrahim Byagowi 72bec1cd09
Improve tests (#679) 2018-01-05 12:42:20 +03:30
Ebrahim Byagowi 5ed26fc5bd
[cmake] Run src/ tests (#675) 2018-01-04 10:11:34 +03:30
Behdad Esfahbod baf7779d2d Limit how much recursion GSUB/GPOS does
This only counts recursions right now.  Good start.

Hopefully...
Fixes https://github.com/behdad/harfbuzz/issues/429
2017-11-14 21:55:37 -08:00
Behdad Esfahbod 909de95a11 Minor build fix 2017-11-14 16:22:52 -08:00
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
Behdad Esfahbod c2545b9215 Add check for HB_EXTERNs
https://github.com/behdad/harfbuzz/pull/555
2017-10-07 12:57:30 +02:00
William Hua 5ecf96e3a2 Use absolute paths of ragel generated headers (#467)
https://github.com/behdad/harfbuzz/issues/455
2017-04-16 22:33:42 -07:00
Behdad Esfahbod a4471d0c2c Move list of ragel sources to Makefile.sources as well 2017-04-05 15:42:11 +02:00
ebraminio d2acaf6d72 Split ragel generated files lists and remove hardcoded rl files lists (#453) 2017-04-05 11:21:23 +02:00
Behdad Esfahbod 7c47474f20 Set LC_ALL instead of LANG when creating harfbuzz.def
Hopefully fixes Travis faliure?
https://github.com/behdad/harfbuzz/pull/413#issuecomment-278481882
https://travis-ci.org/khaledhosny/harfbuzz/jobs/199785332#L1065
2017-02-08 14:33:28 -08:00
Behdad Esfahbod 785982bf83 [var] Flesh out some more 2017-01-20 20:05:45 -08:00
Kal Conley b424b6c372 Add --with-icu=builtin configure option 2016-02-26 00:35:15 +01:00
Behdad Esfahbod 91dd115652 Add HB_NDEBUG
API changes:
- If NDEBUG is defined, define HB_NDEBUG
- Disable costlier sanity checks if HB_NDEBUG is defined.

In 1.2.3 introduced some code to disable costly sanity checks if
NDEBUG is defined.  NDEBUG, however, disables all assert()s as
well.  With HB_NDEBUG, one can disable costlier checks but keep
assert()s.

I'll probably add a way to define HB_NDEBUG automatically in
release tarballs.  But for now, production systems that do NOT
define NDEBUG, are encouraged to define HB_NDEBUG for our build.
2016-02-25 13:56:47 +09:00
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
Behdad Esfahbod 11138ccff7 Add normalize mode
In preparation for Hangul shaper.
2012-04-05 17:25:19 -04:00
Behdad Esfahbod cdc8b491a8 Update Indic table to Unicode 6.1 data 2012-03-07 12:08:33 -05:00
Behdad Esfahbod bd7ff1dec5 Allow disabling multi-threaded support
By defining HB_NO_MT.

Also, only warn once per missing MT feature support.

Mozilla Bug 666661 - gfx/harfbuzz/src/hb-prive.h - compiler warnings on mac
2012-02-23 15:06:16 -05:00
Behdad Esfahbod 3b5c22c39b Remove src/test.cc
Not really useful.
2012-01-19 14:28:11 -05:00
Behdad Esfahbod 74ef81a0b0 Fix make distcheck 2011-08-24 19:36:50 +02:00
Behdad Esfahbod 1f49cf32c9 Add graphite2 integration from Martin Hosken
To be modified, a lot.
2011-08-24 01:32:41 +02:00
Behdad Esfahbod 0e6d36d8a3 Minor 2011-08-24 01:31:29 +02:00
Behdad Esfahbod d75333f166 Add gobject enum support, but disabled for now
need to figure out the naming.  The generated code doesn't have the
right name.
2011-08-19 19:59:24 +02:00
Behdad Esfahbod ae9877dea6 Add hhea-table support 2011-08-17 15:00:10 +02:00
Behdad Esfahbod 7a750ac33e Rename table files from eg maxp-private.hh to maxp-table.hh 2011-08-17 14:19:59 +02:00
Behdad Esfahbod c214cff55c Start adding gobject-introspection support 2011-08-14 15:17:51 +02:00
Behdad Esfahbod 511a136f0c Move hb-view into util/ 2011-08-09 15:03:00 +02:00
Behdad Esfahbod 38b2118724 [API] Add hb_ft_font_set_funcs(), remove hb_ft_get_font_funcs()
Remove hb_ft_get_font_funcs() as it cannot be used by the user anyway.

Add hb_ft_font_set_funcs().  Which will make the font internally use
FreeType.  That is, no need for the font to have created using the
hb-ft API.  Just create using hb_face_create()/hb_font_create() and
then call this on the font (after having set font scale).  This
internally creates an FT_Face and attached to the font.
2011-08-09 11:10:32 +02:00
Behdad Esfahbod b492299eb3 Start implementing the 'name' table 2011-08-05 20:34:50 -04:00
Behdad Esfahbod 02aeca985b [API] Changes to main shape API
hb_shape() now accepts a shaper_options and a shaper_list argument.
Both can be set to NULL to emulate previous API.  And in most situations
they are expected to be set to NULL.

hb_shape() also returns a boolean for now.  If shaper_list is NULL, the
return value can be ignored.

shaper_options is ignored for now, but otherwise it should be a
NULL-terminated list of strings.

shaper_list is a NULL-terminated list of strings.  Currently recognized
strings are "ot" for native OpenType Layout implementation, "uniscribe"
for the Uniscribe backend, and "fallback" for the non-complex backend
(that will be implemented shortly).  The fallback backend never fails.

The env var HB_SHAPER_LIST is also parsed and honored.  It's a
colon-separated list of shaper names.  The fallback shaper is invoked if
none of the env-listed shapers succeed.

New API hb_buffer_guess_properties() added.
2011-08-04 22:38:09 -04:00
Behdad Esfahbod 0fbb2dc831 Add draft experimental Uniscribe backend
Not complete yet, font selection doesn't work.  But hey it shapes!

This is not supposed to be a production backend, more like a testing
backend.
2011-08-03 19:55:04 -04:00
Behdad Esfahbod f5414cf0a2 Use missing script for calling ragel 2011-08-01 16:34:16 -04:00
Behdad Esfahbod 911bf32aca Bug 39686 - Add '-no-undefined' to libharfbuzz LDFLAGS 2011-07-30 11:16:00 -04:00
Behdad Esfahbod 655586fe5e Towards normalization 2011-07-21 00:52:42 -04:00
Behdad Esfahbod 22989c5ffc Distribute hb-ot-shape-complex-indic-machine.rl 2011-07-12 11:54:58 -04:00
Behdad Esfahbod 3361c9a323 Minor 2011-07-07 22:35:17 -04:00
Behdad Esfahbod 867361c3ad [indic] Add syllable recognition state machine
Using an incredible tool called Ragel.
2011-06-17 18:35:46 -04:00
Behdad Esfahbod b9ddbd5593 [Indic] Start an Indic shaper
Nothing functional in there yet.

So far, we're parsing IndicSyllabicCategory.txt and IndicMatraCategory.txt
fils from Unicode Character Database and store them in an array to be used
by the shaper.  Also hooked up the shaper, but it does not do anything
right now.
2011-06-02 17:43:12 -04:00
Behdad Esfahbod 9d49433efb Minor rename 2011-06-01 18:10:10 -04:00
Behdad Esfahbod 5bc18195d5 Add check-includes.sh 2011-05-27 15:58:54 -04:00
Behdad Esfahbod 329c15714b Add libtool versioning
The versioning is automatic.  For now, soname-major is 0.  With
the 1.0.0 release it will jump to 1 and stay there forever.
2011-05-25 16:07:07 -04:00
Behdad Esfahbod d5bfd02721 Minor 2011-05-11 11:48:28 -04:00
Behdad Esfahbod 6a4e7e1372 Add maxp table
Not used for anything right now.  Will use to get num_glyphs in the future.
2011-05-11 10:31:33 -04:00
Behdad Esfahbod c78f448558 [API] Add version macros and functions
Step version up to 0.5.0.

Also, fix to pass "make distcheck"
2011-05-05 21:31:04 -04:00
Behdad Esfahbod 56eb5ad6f9 Move code around
Mutex (and Windows.h by extension) are fairly isolated now.
2011-05-04 19:27:37 -04:00
Behdad Esfahbod f1425a549f Rename hb-view.c and test.c to .cc files 2011-04-27 12:15:06 -04:00
Behdad Esfahbod c57d454acc Rename all private sources and headers to C++ files
So we can liberally use the simple features of C++ that parts of the
codebase is already using.
2011-04-20 18:50:27 -04:00
Behdad Esfahbod f19f4f9b09 Rename hb-blob.c to hb-blob.cc in preparation of more changes 2011-04-20 18:25:56 -04:00
Behdad Esfahbod fb194b8794 unicode: Cleanup implementation 2011-04-20 02:27:39 -04:00
Behdad Esfahbod 8e4bb3cacc Fold hb-language.[ch] into hb-common.[ch] 2011-04-11 17:55:58 -04:00
Behdad Esfahbod c2cb98c818 [hb-view] Link with -lm 2011-03-01 23:18:09 -05:00
Behdad Esfahbod 5353bf439c Add initial hb-view tool
Currently doesn't handle script or direction.
2011-02-22 18:06:19 -05:00
Behdad Esfahbod 7bbe14bed8 Fix 'make distcheck' 2011-01-09 22:29:14 -05:00
Behdad Esfahbod 756f794a1f Remove Graphite backend
It was unmaintained and the code has to be replaced to use the new
grphite-ng code base.
2010-12-26 20:52:40 -05:00
Behdad Esfahbod 0884a8d9cd Move generated table to its own file 2010-11-17 16:58:21 -05:00
Behdad Esfahbod 49baa1f69e Add hb_ot_complex_shaper_t stuff and start hooking Arabic shaper up 2010-10-12 16:50:36 -04:00
Behdad Esfahbod 5a2b0b3878 Add hb-ot-map.cc 2010-10-08 20:14:57 -04:00
Behdad Esfahbod a806762a31 Add hb-ot-shape-private.hh 2010-10-08 19:21:46 -04:00
Behdad Esfahbod 4924affe0f Add hb-ot-map-private.hh 2010-10-08 19:18:16 -04:00
Behdad Esfahbod 3eb936f153 Add Arabic/Syriac/N'ko shaping logic
Not hooked up just yet.
2010-10-05 19:22:06 -04:00
Behdad Esfahbod 7b9a38a112 Add test.c using public API 2010-09-22 17:42:59 -04:00
Behdad Esfahbod acdba3f90b Prefer C linkage 2010-07-23 15:39:27 -04:00
Behdad Esfahbod cc6d52279d De-C++ where possible
Helps with avoiding many "extern C" declarations in source files.
2010-07-23 15:00:13 -04:00
Behdad Esfahbod d05d13df02 Add a test for header preprocessor guards 2010-06-09 07:15:03 -04:00
Behdad Esfahbod 15c7379c16 Revert "Merge remote branch 'martin/master'"
This reverts commit 80af2812fb, reversing
changes made to c442672ec2.
2010-05-26 10:48:10 -04:00
Martin Hosken 1432ab15c1 Add graphical output to hbtestfont 2010-05-22 00:56:40 +01:00
Behdad Esfahbod aa62a402a7 Fix Makefile to install hb-ot-shape.h 2010-05-21 14:42:11 +01:00
Behdad Esfahbod 02f28550d7 Graphite also forces us to link to libstdc++ currently 2010-05-21 14:37:28 +01:00
Behdad Esfahbod 305ba86715 Import Graphite shaping backend by Martin Hosken 2010-05-21 14:15:39 +01:00
Behdad Esfahbod 83f34677bc Add hb_tag_from_string() 2010-05-21 13:43:49 +01:00
Behdad Esfahbod cf5585cfa6 Add 'head' table 2010-05-19 12:03:35 -04:00
Behdad Esfahbod 3b649a38b5 Add check for internal symbols 2010-05-12 23:28:38 -04:00
Behdad Esfahbod 22da7fd94d Rename a few files to be C++ sources
In anticipation for buffer revamp coming.
2010-05-12 18:23:21 -04:00
Behdad Esfahbod 1cebfbb063 Cleanup hb_face_create_for_data() 2010-04-23 20:49:18 -04:00
Behdad Esfahbod 2014b8d110 Hook OpenType shaping up
Default features only for now.
2009-12-20 20:58:26 +01:00
Behdad Esfahbod b8a53e44ce We'll have to link to libstdc++ if linking to ICU, so disable test for now
We have to get rid of the ICU in main lib.  Still thinking about best way
to do it.
2009-12-20 14:56:25 +01:00
Behdad Esfahbod 8a3511ac6c Add hb_language_t as well as language/script conversion to OT tags 2009-11-04 19:45:39 -05:00
Behdad Esfahbod 8fb3d1aa4e Start ft glue 2009-11-03 18:34:20 -05:00
Behdad Esfahbod d94647e2cd Add ICU glue 2009-11-03 16:35:10 -05:00
Behdad Esfahbod d5a8e46099 [Makefile] Install hb-unicode.h
Separate OT headers also.
2009-11-03 15:14:40 -05:00
Behdad Esfahbod 21d0fce3d5 Add check for not linking to libstdc++ 2009-11-03 14:28:32 -05:00
Behdad Esfahbod ca95ce460a Use the C linker, not C++ linker
Such that we don't link to libstdc++.
2009-11-03 14:18:33 -05:00
Behdad Esfahbod 2f3e69f3cb Fix build without glib, again 2009-11-02 18:53:15 -05:00
Behdad Esfahbod 63a792a811 Update Makefile to build without glib 2009-11-02 18:34:26 -05:00
Behdad Esfahbod 1f0ceeb8cf Install library 2009-11-02 16:51:24 -05:00
Behdad Esfahbod 15232e26f4 [HB] Add empty hb_shape() API 2009-11-02 14:40:42 -05:00
Behdad Esfahbod 6936706cd7 Bug 591413 – needs to link with libstdc++
Enforce -fno-exceptions better.
2009-11-02 14:40:42 -05:00
Behdad Esfahbod 49f261df2a [HB] Add hb-glib 2009-11-02 14:40:39 -05:00
Behdad Esfahbod 5c44188455 [HB] Start adding Unicode funcs 2009-11-02 14:40:36 -05:00
Behdad Esfahbod a62f776d8e [HB] Don't override CXX compiler
Just add couple of options to it (still assuming gcc)
2009-11-02 14:40:36 -05:00
Behdad Esfahbod a794ebf4be [HB] Use glib again 2009-11-02 14:40:32 -05:00
Behdad Esfahbod d341881d9a [HB] Fix build of main.cc 2009-11-02 14:40:31 -05:00
Behdad Esfahbod 7edb430f91 [HB] Rename open-types to open-type; beauty 2009-11-02 14:40:30 -05:00
Behdad Esfahbod 15164d9258 [HB] Fix mix warnings 2009-11-02 14:40:29 -05:00
Behdad Esfahbod b28e21b90c [HB] Rename hb-font.c to hb-font.cc 2009-11-02 14:40:27 -05:00
Behdad Esfahbod 5f5b24f99f [OT] Rename C++ header files from *.h to *.hh 2009-11-02 14:40:27 -05:00
Behdad Esfahbod 2098a021a8 [HB] Move OT file handling out of ot-layout 2009-11-02 14:40:26 -05:00
Behdad Esfahbod 678bed4333 [HB] Add top-level header files 2009-11-02 14:40:26 -05:00
Behdad Esfahbod baec684fde [HB] Remove glib dependency 2009-11-02 14:40:25 -05:00