Behdad Esfahbod
127096e474
[util] Remove line buffering
...
Something weird seems to be going on. Just kill it.
Fixes https://github.com/harfbuzz/harfbuzz/issues/888
2018-03-15 13:23:27 -07:00
rsheeter
4a1d51ef15
Merge pull request #818 from googlefonts/drophints
...
[subset] Drop hints
2018-02-26 20:23:41 -08:00
Ebrahim Byagowi
bb82f01383
[aat] trak sanitization
2018-02-26 00:15:26 -08:00
Rod Sheeter
d78393b554
Merge branch 'master' of https://github.com/harfbuzz/harfbuzz into drophints
2018-02-23 17:53:26 -08:00
Ebrahim Byagowi
4f6f7c3b22
[util] Implement ppem/ptem on hb-{shape,view} ( #811 )
2018-02-23 02:54:12 +03:30
Rod Sheeter
74e0c13a4a
[subset] drop hint tables if so flagged. Still need to dump glyf instructions.
2018-02-21 11:19:18 -08:00
Rod Sheeter
0bd100e144
[subset] add --hinting flag
2018-02-21 10:34:00 -08:00
Behdad Esfahbod
9046e92442
[subset] Rename constructor to hb_subset_input_create_or_fail()
...
To signify that unlike rest of library, returns nullptr on failure.
2018-02-13 22:07:12 -08:00
Behdad Esfahbod
d5b33f2fe1
[subset] hb_subset_input_t changes
2018-02-13 13:55:10 -08:00
Behdad Esfahbod
70b06cc6e7
More fixes
2018-02-10 16:13:06 -06:00
Behdad Esfahbod
4011d885b7
[util] Remove use of ssize_t which was failing on MSVC
2018-02-10 14:09:06 -06:00
Behdad Esfahbod
570d523761
[subset] Merge remote-tracking branch 'googlefonts/master'
2018-02-10 13:24:22 -06:00
Behdad Esfahbod
d0f3e7f597
[util] Use setlinebuf() if present
...
To work around mysterious bug on OS X.
Fixes https://github.com/harfbuzz/harfbuzz/issues/727
2018-02-10 12:46:11 -06:00
Rod Sheeter
8431c38cdc
remove output noise
2018-02-08 19:20:58 -08:00
Behdad Esfahbod
194140d3f3
[util] Minor
2018-02-08 16:27:57 -06:00
Behdad Esfahbod
af02812fc5
[subset] Change hb_subset API to remove hb_subset_face_t
2018-02-07 13:07:46 -05:00
Rod Sheeter
6c52d94fd1
capture the set of codepoints passed by --unicodes
2018-02-07 12:41:21 -05:00
Garret Rieger
7481f0ce21
Add codepoints to subset input.
2018-02-07 12:41:21 -05:00
Ebrahim Byagowi
70e13ade81
[subset] Fix Windows issue on endlines ( #756 )
2018-02-06 13:20:38 +03:30
Garret Rieger
2ea228935d
ssize_t -> size_t
2018-02-05 15:10:01 -08:00
Garret Rieger
c25898eb54
Switch to fopen() instead of open() in subset test. open wasn't compiling on windows.
2018-02-05 14:35:32 -08:00
Garret Rieger
fc04f11ce1
Rename HB_SUBSET_sources -> HB_SUBSET_CLI_sources to match what cmake is looking for.
2018-02-05 11:12:33 -08:00
Garret Rieger
e428f7b1c2
Wrap unistd.h include in ifdef.
2018-02-05 10:24:16 -08:00
Behdad Esfahbod
ae39fc8171
[subset] Build hb-subset into separate libharfbuzz-subset.so
2018-02-04 20:18:52 -05:00
Behdad Esfahbod
eac20e4595
[subset] Minor
2018-02-04 20:08:50 -05:00
Rod Sheeter
edcd3b80e9
Actually call hb_subset
2018-02-04 12:57:34 -08:00
Garret Rieger
f83a43b561
Add CMake configuration for all of the new subsetting code.
2018-02-04 12:57:34 -08:00
Garret Rieger
5bc0cda179
Add missing unistd header to hb-subset.
2018-02-04 12:57:34 -08:00
Garret Rieger
058b1260ad
Re-write hb-subset utility to use main-font-text driver.
2018-02-04 12:57:34 -08:00
Garret Rieger
ede84ffa42
Whitespace
2018-02-04 12:57:34 -08:00
Rod Sheeter
e9d154ac8d
tweak test failure output. write to a temp file not stdout. test still fails because expected is not just an identical copy of input
2018-02-04 12:57:33 -08:00
Rod Sheeter
9ccb8366f6
Start to sketch APIs for subsetting
2018-02-04 12:57:33 -08:00
Behdad Esfahbod
4c4a9fc861
Typo
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/711
2018-01-17 09:48:08 -08:00
Behdad Esfahbod
7c32e01d04
Minor
2018-01-11 10:47:31 +01:00
Behdad Esfahbod
746a37d5bd
[util] Replace setlinebuf
2018-01-10 16:47:47 +01:00
Behdad Esfahbod
ff2083c53e
[util] Set stdio files to line buffering
...
So we can stream lines to hb-shape and read output.
2018-01-10 13:58:41 +01:00
Behdad Esfahbod
3b1e97f364
Add HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES
...
New API:
HB_BUFFER_FLAG_REMOVE_DEFAULT_IGNORABLES
hb-shape / hb-view --remove-default-ignorables
One more text-rendering-tests test passing. Eleven failing.
2018-01-10 03:36:03 +01:00
Behdad Esfahbod
3f29ea9144
[util] Add hb-shape --ned
...
For not displaying extra data: no clusters, no advance. Just data pertaining
to where glyphs end up on the screen.
2018-01-10 02:50:49 +01:00
Behdad Esfahbod
71fd6325b6
Add option to buffer serialization to not output glyph advances
...
When advances are not printed, glyph offsets reflect absolute glyph
positions.
New API:
HB_BUFFER_SERIALIZE_FLAG_NO_ADVANCES
hb-shape --no-advances
2018-01-10 02:50:49 +01:00
Behdad Esfahbod
7b837e20d2
[util] Add TODO item
2018-01-03 12:46:29 +00:00
Olivier Blin
0fd89dc61c
[hb-ft] Fix build when Multiple Master font support is disabled in freetype
...
FT_Set_Var_Blend_Coordinates() is not available when "Multiple Master
font interface" is disabled in freetype's modules.cfg
2017-12-04 10:52:06 -08:00
Behdad Esfahbod
bb7cc4eada
Minor
2017-11-20 19:39:47 -08:00
Behdad Esfahbod
17f40b7cad
Include hb-private.hh more consistently
...
Part of fixing https://github.com/behdad/harfbuzz/issues/585
2017-10-27 09:22:42 -06:00
Behdad Esfahbod
dbdbfe3d7b
Use nullptr instead of NULL
2017-10-15 12:11:08 +02:00
Behdad Esfahbod
c3448e8d21
Use static_assert instead of custom ASSERT_STATIC
2017-10-15 12:02:00 +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
9355218f58
[util] Add a few shorthand forms for commandline options
...
-o, -O, -u, -v, -V
2017-09-09 11:21:07 -07:00
Behdad Esfahbod
d03f11f246
Fix buffer_diff for empty buffers
...
If buffers are empty, content type should be ignored.
This fixes last of the failing tests: fuzzed.tests. Green again!
2017-09-04 20:14:13 -07:00
Behdad Esfahbod
03a5a6f873
[util] Add --unicodes to hb-view / hb-shape
...
Fixes https://github.com/behdad/harfbuzz/issues/154
2017-09-01 19:12:22 -07:00
Behdad Esfahbod
b262ebcc9c
[util] Fix cluster sweeping during --verify
...
If *I* get this wrong in 2017, I have no idea how others get their head around
cluster math...
Fixes tests/arabic-fallback-shaping.tests
2017-08-30 17:26:07 -07:00
Behdad Esfahbod
69d701b02e
[util] When --verify fails, return reconstructed shape results
2017-08-30 17:07:29 -07:00
Behdad Esfahbod
099472e08b
hb_buffer_diff() tweak
...
I like to have a mode where CONTAINS_NOTDEF and CONTAINS_DOTTEDCIRCLE are not
returned. Abused a value of -1 for that. hb-shape now uses it. Fixes two
of the six tests failing with --verify in test/shaping/run-tests.sh.
2017-08-30 16:45:06 -07:00
Behdad Esfahbod
a9e52a1af4
[util] Prefix trace lines with "trace:", and error lines with "error:"
2017-08-15 17:30:18 -07:00
Behdad Esfahbod
7ea10c35a3
[util] Respect eot/bot in safe-to-break test; hook up hb_buffer_diff()
2017-08-15 17:25:04 -07:00
Behdad Esfahbod
a88e2a73f3
[util] Fix leaks
2017-08-14 14:49:21 -07:00
Behdad Esfahbod
05fabbd03e
[unsafe-to-break] Towards verifying unsafe-to-break in --verify
...
We break and shape fragments and reconstruct shape result from them.
Remains to compare to original buffer. Going to add some buffer
comparison API and use here, instead of open-coding.
2017-08-11 20:00:55 -07:00
Behdad Esfahbod
d2052278f2
[util] Add --verify to hb-shape / hb-view that verifies shape results
...
Right now it checks for monotone cluster values. Other checks to be added.
2017-08-11 15:12:25 -07:00
Behdad Esfahbod
40bd7e9a1c
[unsafe-to-break] Add UNSAFE_TO_BREAK flag
...
Not all shapers code is updated to set this properly.
GSUB and Arabic shaper are updated.
GPOS and other shapers are NOT.
Fixes https://github.com/behdad/harfbuzz/issues/224
2017-08-10 15:02:28 -07:00
Behdad Esfahbod
3e44748ebe
[util] Fix two other Coverity warnings
2017-08-09 22:09:01 -07:00
Behdad Esfahbod
356f93b64b
[util] Fix warning
2017-08-09 22:06:53 -07:00
Behdad Esfahbod
6f38845d9c
[hb-shape] Rename --show-messages to --trace
...
https://github.com/behdad/harfbuzz/issues/506
2017-07-19 17:20:55 -07:00
Behdad Esfahbod
e60350551a
[hb-shape] Improve shaping-debug output
...
Before, that was printed using --debug (and in both hb-shape and hb-view).
Changed it, now hb-shape has a new command-line argument called --show-messages.
When invoked, it also respects other output formatting options. The messages
are better formatted and printed to te same place that hb-shape output is
directed to. Previously they were written to stderr.
Fixes https://github.com/behdad/harfbuzz/issues/506
2017-07-18 19:16:09 -07:00
Philip Withnall
925ceacfed
util: Add missing field initialisers in constructor ( #410 )
...
Coverity ID: 141042
2017-02-07 18:17:48 -08:00
Behdad Esfahbod
a429090572
[var] Flesh out --variations documentation
2017-01-22 19:01:07 -08:00
Behdad Esfahbod
7647a05a0b
Minor
2017-01-22 17:47:49 -08:00
Behdad Esfahbod
47ee34e847
[var] Hook up variations to FreeType face
...
hb-view correctly renders variations with ft font-funcs now.
hb-ot-font needs HVAR implementation.
2017-01-21 18:10:08 -08:00
Behdad Esfahbod
111f3e5517
[util] Add --variations
...
Is hooked up to the font, but not to FreeType, so raster doesn't show yet.
Documentation needs to be done.
2017-01-21 17:51:41 -08:00
Behdad Esfahbod
de508516cb
[util] Print out --debug buffer to stderr
2016-04-26 11:28:37 -07: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
0475ef2f97
[buffer] Add debugging, aka, message, API
...
Currently just announces lookup applications. Message-API *will* change.
hb-shape / hb-view are updated to print-out messages to stder if --debug
is specified.
2015-12-18 19:29:06 +00:00
Behdad Esfahbod
21e5d7edc4
[util] Use O_BINARY instead of _O_BINARY
...
The latter doesn't seem to be available in Cygwin. I'm surprised it
compiled before...
2015-12-17 16:28:38 +00:00
Behdad Esfahbod
808d3fc0ea
[util] Port hb-view to use font metrics from HarfBuzz instead of cairo
2015-12-10 16:55:16 +01:00
Chun-wei Fan
a49e7b7e40
MSVC builds: Add fallback implementation for pre-2013 MSVC
...
Pre-2013 MSVC does not have scalbn() and scalbnf(), which are used in the
utility programs. Add fallback implementations for these, which can be
used when necessary.
2015-11-16 23:04:36 +08:00
Chun-wei Fan
998e8dda93
util: Fix build on Visual Studio
...
Use the fallback implementation for lround() only on pre-2013 Visual
Studio, and ensure we are clear about the types of the parameters for
lround() and scalbnf(), since Visual Studio can be quite picky on
ambiguous parameter types. Also, use g_ascii_strcasecmp() rather than
strcasecmp() as we are already using GLib for this code and we are
assured that g_ascii_strcasemp() is available.
For scalbnf() on pre-2013 Visaul Studio, a fallback implementation is
needed, but use another forced-included header for those compilers, which
will be added later.
Also use (char)27 on Visual Studio builds as '\e' is not a recognized
escape sequence, which will do the same thing.
2015-11-16 23:04:35 +08:00
Behdad Esfahbod
e97835ad43
[util] Fix crash when --output-file is specified but not --output-format
2015-11-10 11:37:01 -08:00
Behdad Esfahbod
6c0ebd02c9
[util] If font has color, generate PNG with color
2015-11-05 11:37:48 -08:00
Behdad Esfahbod
3530cc2d7c
[util] Fix option-parsing leaks
2015-11-03 12:13:28 -08:00
Behdad Esfahbod
642135f3b2
[util] In --debug mode, duplicate font data
...
This has the effect that the font data will end up in a memory
section malloc()ed exactly to its size. This gives us better
valgrind detection of out-of-bounds access.
Previously, the font data was placed in a mmap()ed section or
GString-allocated area, which didn't have proper protections
at the end when running under valgrind.
2015-11-03 11:26:34 -08:00
Behdad Esfahbod
fdd1770e00
Add API/cmdline to show glyph extents when serializing buffer
...
New API: HB_BUFFER_SERIALIZE_FLAG_GLYPH_EXTENTS
hb-shape now accepts --show-extents.
Patch from Simon Cozens.
2015-08-24 13:49:55 +01:00
Behdad Esfahbod
376d587f36
Implement more granular cluster-merging
...
TODO: Documentation.
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=71445
2015-07-22 16:51:12 +01:00
Behdad Esfahbod
cd042fc8c4
[util] Disable hb-fc-list for now
...
Until I figure out what to do about the API, and finalize
the tool.
2015-06-18 11:07:52 -07:00
Behdad Esfahbod
16dac7eccf
Fix build
2015-06-03 12:07:46 -07:00
Behdad Esfahbod
ff0f210519
[util] Minor
2015-05-18 18:37:46 -07:00
Behdad Esfahbod
820505a186
Whitespace
2015-04-13 23:51:45 -07:00
Behdad Esfahbod
76d5733111
Merge pull request #86 from cpfair/hb-shape-output-help-improvement
...
Improve hb-shape/hb-view's help text w.r.t. output options
2015-04-13 23:40:35 -07:00
Behdad Esfahbod
fe97b65a54
[utils] Add hb-fc-list
...
This is a tool that lists all fonts that can render a given string.
It uses hb_shape() to do so, and as such is aware of HarfBuzz's
normalizer.
2015-04-09 19:16:57 -07:00
Behdad Esfahbod
e8fd83932a
[util/hb-view] Fix rendering with all combinations of negative scales
2015-04-09 15:52:26 -07:00
Behdad Esfahbod
69d5af9316
[util] Minor
2015-04-09 15:17:16 -07:00
Behdad Esfahbod
a664810e38
[util] Accept comma as well as space when separating components of args
...
Applies to --font-size and --margin.
Hopefully the scanf usage here doesn't have compatibility issues
(star being counted in the return value, etc).
2015-04-09 15:05:07 -07:00
Behdad Esfahbod
e2d4e8480d
[util] Add convenience "make lib" target
2015-02-25 15:43:24 -08:00
Collin Fair
9ee176ee97
Stop hb-shape docs leaking into hb-view
2015-02-14 09:59:44 -05:00
Collin Fair
952b8dbdf6
'All' of the above, not 'each'
2015-02-14 09:45:20 -05:00
Collin Fair
9e867b6446
Remove reference to --help-output-content in --help-output (as --help-output-format's options aren't available in hb-view)
2015-02-14 09:32:50 -05:00
Collin Fair
1d55ffeb66
Add serialization syntax documentation. Clarify naming and wording in --help-output/--help-format
2015-02-14 09:29:35 -05:00
Behdad Esfahbod
cd4eb96abb
[util] Add --font-size to hb-shape
...
Also makes hb-view to use 8 bits of subpixel precision and shape at
requested size, instead of always shaping at upem and scaling results.
2015-01-20 12:45:13 -08:00
Behdad Esfahbod
5789ca69d7
[util] Minor
2015-01-20 12:45:13 -08:00
Behdad Esfahbod
c36c4a9924
Add missing va_end()
...
Fixes https://github.com/behdad/harfbuzz/pull/74
2015-01-02 14:09:23 -08:00
Behdad Esfahbod
80f7728226
[util] Fix ansi output when surface is empty
2014-09-25 17:59:46 +03:00
Behdad Esfahbod
0de25d4184
[util] Note CSS compatibility in --help-features
2014-07-25 12:35:03 -04:00
Behdad Esfahbod
0afedaa96c
[util/hb-shape] Fix crash; oops
2014-07-09 17:00:48 -04:00
Behdad Esfahbod
9109f1e944
[util/hb-shape] Accept an empty output-format that would skip output
...
Useful for benchmarking, to avoid buffer serialization overhead (which
seems to by far dominate shaping!)
2014-07-08 20:02:29 -04:00
Behdad Esfahbod
8656408572
[util] Fix hb-view rendering with --font-funcs=ot
2014-07-08 18:10:20 -04:00
Behdad Esfahbod
8650def735
[util] Add option to set font function implementation to use
...
Supports ft and ot right now. hb-view currently not rendering with ot.
Will fix after some clean up.
2014-07-05 15:51:25 -04:00
Behdad Esfahbod
2306ad46dc
[util] Fix memory issue
2014-07-04 18:09:29 -04:00
Behdad Esfahbod
903648437c
Start fleshing out builtin font functions
2014-03-24 15:19:15 -07:00
Behdad Esfahbod
ea5e8a02eb
[util] Plug minor leak
2014-03-19 15:38:02 -07:00
Behdad Esfahbod
d688475ea9
Minor
2013-12-12 13:21:57 -05:00
Behdad Esfahbod
adb039554d
Minor
2013-12-04 20:10:27 -05:00
Behdad Esfahbod
c704a8700e
[util] Fix uninitialized memory access
2013-12-02 05:42:04 -05:00
Behdad Esfahbod
260a3198f4
[util] Plug leak
2013-12-02 05:39:39 -05:00
Behdad Esfahbod
c77d1ade68
Fix warnings
2013-10-27 23:53:55 +01:00
Behdad Esfahbod
c2bc818706
Work with old and new glib
...
Avoids "deprecated" warnings.
2013-10-27 23:37:14 +01:00
Behdad Esfahbod
9326d48e43
Don't use g_mapped_file_unref()
...
Was introduced in glib 2.22.
2013-10-10 20:04:42 +02:00
Behdad Esfahbod
078de49ca1
[util] Don't use g_array_unref()
...
Was introduced in glib 2.22.
2013-09-26 18:26:43 -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
5fbc952524
Fix glyph name printing in hb-ot-shape-closure
2013-07-29 14:34:40 -04:00
Behdad Esfahbod
7235f33f9e
Fix misc warnings reported by cppcheck
...
https://bugs.freedesktop.org/show_bug.cgi?id=65544
2013-06-10 15:08:49 -04:00
Chun-wei Fan
b4c5c52944
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.
2013-06-03 18:50:26 -04:00
Behdad Esfahbod
e4046080c5
[util] Unbreak --show-text / --show-unicode
2013-04-17 23:49:54 -04:00
Behdad Esfahbod
50067e280f
[util] Add --num-iterations
...
Useful for profiling shapers.
2013-04-11 16:31:01 -04:00
Behdad Esfahbod
c462b32dcb
Disable automatic segment properties guessing
...
Before, if one called hb_shape() without setting script, language, and
direction on the buffer, hb_shape() was calling
hb_buffer_guess_segment_properties() on the user's behalf to guess
these.
This is very dangerous, since any serious user of HarfBuzz must set
these properly (specially important is direction). So now, we don't
guess properties by default. People not setting direction will get
an abort() now. If the old behavior is desired (fragile, good for
simple testing only), users can call
hb_buffer_guess_segment_properties() on the buffer just before calling
hb_shape().
2013-02-15 07:51:47 -05:00
Behdad Esfahbod
e2aab4b5db
Improve checks for setmode()
...
As reported by Jonathan, OS X has setmode() that is something other
than what setmode() is on Win32. So, limit invocation to Windows
platforms only.
2013-02-12 15:35:32 -05:00
Behdad Esfahbod
ceeae30f47
Really fix setmode this time
...
Thanks to Khaled for spotting it.
2013-01-31 19:27:36 -05:00
Behdad Esfahbod
7cba8a673b
Fixup previous commit
...
Now, it looks like this breaks Cygwin again. Have to figure out what's
going on.
2013-01-31 18:37:10 -05:00
Behdad Esfahbod
bc76449f51
Use setmode() instead of _setmode()
...
Looks like Cygwin / MSVC declare it that way, and it still works on
MinGW32 cross.
2013-01-31 18:18:05 -05:00
Behdad Esfahbod
1172dc7362
Rename hb_buffer_clear() to hb_buffer_clear_contents()
...
The previous name was clashing with harfbuzz.old. There are systems
that need to link both...
Clash-free now again.
2013-01-07 16:46:37 -06:00
Behdad Esfahbod
4a765f092d
Minor
2012-12-21 16:48:47 -05:00
Behdad Esfahbod
9815a88111
[util] List supported output formats in --help output
2012-12-21 16:46:53 -05:00
Behdad Esfahbod
f95a87b7b8
[util] List supported output formats in hb-view
2012-12-21 16:35:28 -05:00
Behdad Esfahbod
6bad092aa8
[util] Default to "text" output format in hb-shape
...
If you say:
hb-shape font.ttf text --output-file out.txt
This was previously failing:
Unknown output format `txt'; supported formats are: TEXT / JSON
Now we simply fallback to TEXT if no explicit format was requested.
2012-12-21 16:01:52 -05:00
Behdad Esfahbod
9a34a50daa
Fix build with C++11
2012-12-05 19:18:18 -05:00
Behdad Esfahbod
75da37dcb1
Minor
2012-11-15 18:39:23 -08:00
Behdad Esfahbod
aec89de564
Add / modify set API a bit
2012-11-15 16:15:42 -08:00
Behdad Esfahbod
a4bef84e37
[util] Make hb-shape err if output-format is not understood
...
And list supported formats.
2012-11-15 13:29:51 -08:00
Behdad Esfahbod
f9edf16725
Add buffer serialization / deserialization API
...
Two output formats for now: TEXT, and JSON. For example:
hb-shape --output-format=json
Deserialization API is added, but not implemented yet.
2012-11-15 13:10:07 -08:00
Behdad Esfahbod
407f80d625
[util] Add --bot / --eot / --preserve-default-ignorables
2012-11-13 15:33:27 -08:00
Behdad Esfahbod
78d41d8d69
Minor
2012-11-13 15:15:09 -08:00
Behdad Esfahbod
321f73c16e
[util] Add --text-before and --text-after to hb-shape / hb-view
...
Use with Arabic, for example, to see the effect on joining.
2012-11-13 15:12:24 -08:00
Behdad Esfahbod
c8149ca85e
[hb-shape] Adjust postioning output format
...
1. If there is any offset (x or y), print out both x and y offsets.
2. Always print out the advance in the major direction of the buffer.
Ie. even for zero-advance glyphs, print a "+0". This is more intuitive.
2012-11-13 11:07:20 -08:00
Behdad Esfahbod
3bc22eb7b8
Minor
2012-11-12 10:07:28 -08:00
Behdad Esfahbod
e30ebd2794
Add hb_feature_to/from_string()
2012-09-06 22:09:06 -04:00
Behdad Esfahbod
6f3a300138
Add hb_font_glyph_from/to_string
2012-08-07 22:13:25 -04:00
Behdad Esfahbod
ade7459ea7
[util] Fix leaks
2012-08-06 19:49:42 -07:00
Behdad Esfahbod
bdc48a879a
Enlarge glyph_name buffer
...
Lohit Devanagari has a glyph named:
u0924_u094D.half_u0930_u094D.blwf.vatu
2012-08-04 17:08:38 -07:00
Behdad Esfahbod
39b17837b4
Add hb_buffer_normalize_glyphs() and hb-shape --normalize-glyphs
...
This reorders glyphs within the cluster to a nominal order. This should
have no visible effect on the output, but helps with testing, for
getting the same hb-shape output for visually-equal glyphs for each
cluster.
2012-07-17 17:09:29 -04:00
Behdad Esfahbod
6a5661f1e6
Ugh
2012-06-09 03:26:16 -04:00
Behdad Esfahbod
f211d5c291
More Oops! Fix fast-path with sub-type==0
2012-06-09 03:11:22 -04:00
Behdad Esfahbod
a18280a8ce
Fix warnings produced by clang analyzer
2012-06-07 15:44:12 -04:00
Behdad Esfahbod
7ec83051c0
Fix warnings
2012-06-07 13:32:57 -04:00
Behdad Esfahbod
0594a24484
Cleanup TRUE/FALSE vs true/false
2012-06-05 20:35:40 -04:00
Behdad Esfahbod
4a8a529068
Make hb-view err if all shapers failed
2012-06-05 19:17:02 -04:00
Behdad Esfahbod
c188548312
Add --verbose to hb-shape
...
Just turns all --show-* options on.
2012-06-04 09:09:59 -04:00
Behdad Esfahbod
ae62166519
[util] Minor
2012-06-02 12:21:19 -04:00
Behdad Esfahbod
5db0683a82
[util] Make hb-shape continue shaping other lines if shapers failed
2012-06-02 12:13:08 -04:00
Behdad Esfahbod
cd6a549341
Remove unused variable
2012-06-01 13:45:25 -04:00
Behdad Esfahbod
bce095524b
Add hb_font_get_glyph_name() and hb_font_get_glyph_from_name()
2012-05-28 10:45:50 -04:00
Behdad Esfahbod
8f8956a55f
[util] Add hidden --shaper that is equivalent of --shapers
2012-05-25 14:30:24 -04:00
Behdad Esfahbod
29ce446d31
Add set iterator
2012-05-25 14:17:54 -04:00
Behdad Esfahbod
c87b317f0e
[util] Add hb-ot-shape-closure tool
...
Computes all the glyphs that may be generated given a font and
set of Unicode characters.
The order of the Unicode characters is irrelevant.
Sample output:
behdad:util 0$ ./hb-ot-shape-closure Doulos\ SIL\ Regular.ttf f
f f_f
behdad:util 0$ ./hb-ot-shape-closure Doulos\ SIL\ Regular.ttf i
i
behdad:util 0$ ./hb-ot-shape-closure Doulos\ SIL\ Regular.ttf fi
f f_i f_f_i f_f i
behdad:util 0$ ./hb-ot-shape-closure DroidNaskh-Regular.ttf ب
uni0628 uni0628.init uni0628.medi uni0628.fina
behdad:util 0$ ./hb-ot-shape-closure DroidNaskh-Regular.ttf ا
uni0627 uni0627.fina
behdad:util 0$ ./hb-ot-shape-closure DroidNaskh-Regular.ttf با
uni0627 uni0627.fina uni0628 uni0628.init uni0628.medi uni0628.fina
behdad:util 0$ ./hb-ot-shape-closure DroidNaskh-Regular.ttf با --no-glyph-names
5 6 133 134 135 136
2012-05-15 23:53:18 -04:00
Behdad Esfahbod
45675e589e
[util] Refactor to accommodate for upcoming new tool
2012-05-15 23:10:39 -04:00
Behdad Esfahbod
8caf5dcd66
Minor
2012-05-13 17:10:18 +02:00
Behdad Esfahbod
50f630c17c
Remove ioctl checks
...
Ended up not using terminal size after all.
2012-05-13 13:03:44 +02:00
Behdad Esfahbod
db0de7cd61
[util] Set ansi color only on color change
2012-05-13 13:02:38 +02:00
Behdad Esfahbod
912c5ff80a
Reduce default margin
2012-05-13 12:51:02 +02:00
Behdad Esfahbod
52e7b1424a
[util] Make hb-view print out Unicode art if stdout is a terminal
2012-05-13 07:55:00 +02:00
Behdad Esfahbod
30874b4819
[util] Make tools default to stdin if no text is provided
...
One less argument to type in typical testing workflow!
2012-05-12 15:54:27 +02:00
Behdad Esfahbod
2097951110
[util] Change default font size of hb-view to 256
...
Most common usecase of hb-view is to test rendering of short words for
testing / inspection. Not having to type "--font-size 150" each time
isn't such a bad idea...
2012-05-12 15:41:48 +02:00
Behdad Esfahbod
95cefdf96e
Add --utf8-clusters
...
Also fix cairo cluster generation.
2012-04-16 18:08:20 -04:00
Behdad Esfahbod
effb42e5c5
Always use cairo_show_text_glyphs()
...
Better catches cluster errors.
2012-04-16 16:04:07 -04:00
Behdad Esfahbod
799cfdd15a
Make page progression be right to left for vertical text
2012-04-16 16:00:36 -04:00
Behdad Esfahbod
69b84a8f6c
Fix hb-view surface size calc for vertical text
...
For some reason it doesn't quite work with IranianNastaliq, but
that looks like a font issue.
2012-04-12 15:50:40 -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
f51e167436
Minor error handling
2012-01-30 09:48:33 -05:00
Behdad Esfahbod
d530024168
[util] Make clusters work with char offset instead of UTF-8 offset
...
This means the --features indices also refer to char position
instead of byte position now. Same for cluster values reported
by hb-shape.
Will add an option for byte indices later.
2012-01-21 19:07:22 -05:00
Behdad Esfahbod
0f68f4a0b5
Correctly print out Unicode strings
2012-01-21 18:59:48 -05:00
Behdad Esfahbod
d8134bc017
[hb-shape] Add parantheses around --show-text output
2012-01-20 17:18:59 -05:00
Behdad Esfahbod
4e84ce48d5
Move hb-diff to test/shaping/
2012-01-20 13:51:22 -05:00
Behdad Esfahbod
c91c4fa471
[hb-shape] Change glyphstring brackets from </> to [/]
...
Sorry for the disruption but I need this to differentiate from the
Unicode string.
2012-01-19 17:51:57 -05:00
Behdad Esfahbod
4983feebbb
[hb-diff] Clean up
2012-01-19 13:54:52 -05:00
Behdad Esfahbod
cdc673d97c
[hb-shape] Add --show-line-num
...
Ok, much more useful as a test suite driver now.
2012-01-19 12:46:18 -05:00
Behdad Esfahbod
cc4d9810d6
[hb-shape] Add --show-text and --show-unicode options
2012-01-19 12:32:20 -05:00
Behdad Esfahbod
27c36af411
Fix OOB in hb-shape
2012-01-19 12:30:43 -05:00
Behdad Esfahbod
8750abaf84
[util] Add --help-features
...
Patch from Khaled Hosny.
2012-01-18 22:47:44 -05:00
Behdad Esfahbod
a097043f9a
Allow space in one more place when parsing features
2012-01-14 17:55:51 -05:00
Behdad Esfahbod
fd528c17b7
[util] Add --list-shapers to hb-view and hb-shape
2011-10-12 15:03:58 -04:00
Behdad Esfahbod
5857720cd3
[util] s/%d/%u/ when printing glyph ids and clusters
2011-09-27 12:36:26 -04:00
Behdad Esfahbod
d3f3690b48
hb-shape: In --no-glyph-names, output glyph number directly
...
Ie. write "86" instead of "gid86".
2011-09-21 16:41:43 -04:00
Behdad Esfahbod
088c1e27c0
[util] Fix option parsing
...
Wow, who knew bool is one byte and I was using it as a 4byte int?!
C++ auto casts fails you in mysterious ways...
2011-09-20 14:43:55 -04:00
Behdad Esfahbod
e700bce118
[util] Add hb-diff
...
A diff program written in Python that is more suitable for comparing
hb-shape output from different backends. Main differences with stock
diff:
1. It outputs one line's comparison at a time, as opposed to batching
'+' lines and '-' lines.
2. It colors the part of the line that changed, taking word boundaries
into consideration.
You can pipe the colored output to 'less -r'.
2011-09-20 11:20:53 -04:00
Behdad Esfahbod
422558142a
[util] Account for line-space in surface size
2011-09-19 17:57:02 -04:00
Behdad Esfahbod
b5afd8f78e
[util] Rename --output to --output_file, and --format to --output-format
2011-09-19 16:56:21 -04:00
Behdad Esfahbod
466393c2f0
Really fix build this time
2011-09-19 16:50:18 -04:00
Behdad Esfahbod
fe1605db4f
Fix dist
2011-09-19 16:49:03 -04:00
Behdad Esfahbod
8b8b19056d
[util] Add hb-shape utility
...
Like hb-view, but prints out buffer contents.
The output format is kinda cryptic. Suggestions welcome.
2011-09-19 16:41:17 -04:00
Behdad Esfahbod
f6496663c2
[util] If no text is provided, simply call cairo_show_glyphs()
2011-09-19 15:45:52 -04:00
Behdad Esfahbod
11e51993ab
[util] Move font-size into view-options
2011-09-19 09:58:55 -04:00
Behdad Esfahbod
0fe2960197
Fix Linux build when io.h is available
...
Bug 40953 - fail compile git: make[2]: *** [hb_view-options.o] Error 1
2011-09-17 09:59:58 -04:00
Behdad Esfahbod
d2b3ab9ece
Fix "[util] Fix hb-view crash with bogus font."
2011-09-16 17:00:08 -04:00
Behdad Esfahbod
da4a2a1426
Cosmetic
2011-09-16 16:57:03 -04:00
Behdad Esfahbod
4274ed7ab6
[util] Fix hb-view crash with bogus font
2011-09-16 16:52:26 -04:00
Behdad Esfahbod
5ddd9cc499
Minor
2011-09-16 16:40:44 -04:00
Behdad Esfahbod
55aeb04904
Fix reading text from stdin
2011-09-16 02:08:36 -04:00
Behdad Esfahbod
a75c1b1251
Move code around
2011-09-16 01:16:41 -04:00
Behdad Esfahbod
7bf6ecd3bf
Always shape at size=upem
...
Fixes bug with uniscribe not handling GIGANTIC sizes.
2011-09-16 01:11:30 -04:00
Behdad Esfahbod
674ee58d9b
Minor
2011-09-16 00:54:05 -04:00
Behdad Esfahbod
4451168e5d
Fix binary stdin/stdout io in Windows
...
Make --font-file accept "-" to mean stdin, and have it work
in Windows too!
2011-09-16 00:41:08 -04:00
Behdad Esfahbod
639b5957d9
Minor
2011-09-15 18:09:49 -04:00
Behdad Esfahbod
f7e2ef74f8
[hb-view] Make print to stdout work in Windows
...
Apparently there's no equivalent to "/dev/stdout", so write using
stdio to be able to output to stdout.
2011-09-15 18:01:24 -04:00
Behdad Esfahbod
b9b10ad78b
[util] Refactor hb-view completely
...
Now we can use the same code to do other utils...
2011-09-15 00:30:41 -04:00
Behdad Esfahbod
bc4b07b05e
More reshuffling
2011-09-08 17:11:01 -04:00
Behdad Esfahbod
516857eb51
[util] Simplify more
2011-09-08 16:50:24 -04:00
Behdad Esfahbod
4f4b114a55
[util] Move code around
2011-09-08 16:49:02 -04:00
Behdad Esfahbod
46d86a73a1
Minor
...
We now support using -1 for NUL-terminated strings.
2011-09-08 16:43:15 -04:00
Behdad Esfahbod
90e312cb85
[util] Move code around
2011-09-08 16:42:37 -04:00
Behdad Esfahbod
109cb38289
[util] Further refactor option parsing
2011-09-08 16:00:04 -04:00
Behdad Esfahbod
4c9fe88d30
[API] Make all _from_string() functions take a len parameter
...
Can be -1 for NUL-terminated string. This is useful for passing parts
of a larger string to a function without having to copy or modify the
string first.
Affected functions:
hb_tag_t hb_tag_from_string()
hb_direction_from_string()
hb_language_from_string()
hb_script_from_string()
2011-08-26 09:22:12 +02:00
Behdad Esfahbod
e6c09cdf43
Remove the pre_allocate argument from hb_buffer_create()
...
For two reasons:
1. User can always call hb_buffer_pre_allocate() themselves, and
2. Now we do a pre_alloc in add_utfX anyway, so the total number of
reallocs is limited to a small number (~3) anyway. This just makes the
API cleaner.
2011-08-19 19:20:26 +02:00
Behdad Esfahbod
0b7e4d9f20
[ft] FT_Get_Advance() for advance-width callbacks
...
Using graphite2's comparerenderer suggests that this makes hb-ft 15
times faster. No caching layer needed anymore.
2011-08-15 20:41:59 +02:00
Behdad Esfahbod
97796453aa
Fix falloffs of the GOption conversion
2011-08-15 19:03:43 +02:00
Behdad Esfahbod
3bb300ee78
Refactor hb-view code
2011-08-11 12:04:03 +02:00
Behdad Esfahbod
36a4fe037d
Fix charset conversion
2011-08-10 21:54:22 +02:00
Behdad Esfahbod
25c4830593
[util] Add hb-shape --shapers
...
If the specified shapers fail, hb-shape will fail immediately
2011-08-10 16:28:38 +02:00
Behdad Esfahbod
a21add6c0d
Reformat
2011-08-10 16:07:49 +02:00
Behdad Esfahbod
8df90c8118
[util] Port hb-view to GOption
2011-08-10 16:03:29 +02:00
Behdad Esfahbod
511a136f0c
Move hb-view into util/
2011-08-09 15:03:00 +02:00