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
Behdad Esfahbod
bb7cc4eada
Minor
2017-11-20 19:39:47 -08: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
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
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
a9e52a1af4
[util] Prefix trace lines with "trace:", and error lines with "error:"
2017-08-15 17:30:18 -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
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
Behdad Esfahbod
a429090572
[var] Flesh out --variations documentation
2017-01-22 19:01:07 -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
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
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
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
16dac7eccf
Fix build
2015-06-03 12:07: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
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
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
0de25d4184
[util] Note CSS compatibility in --help-features
2014-07-25 12:35:03 -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
260a3198f4
[util] Plug leak
2013-12-02 05:39:39 -05: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
50067e280f
[util] Add --num-iterations
...
Useful for profiling shapers.
2013-04-11 16:31:01 -04: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
9815a88111
[util] List supported output formats in --help output
2012-12-21 16:46:53 -05:00
Behdad Esfahbod
9a34a50daa
Fix build with C++11
2012-12-05 19:18:18 -05: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
0594a24484
Cleanup TRUE/FALSE vs true/false
2012-06-05 20:35:40 -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
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
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
95cefdf96e
Add --utf8-clusters
...
Also fix cairo cluster generation.
2012-04-16 18:08:20 -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
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
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
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
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
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
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
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
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