[HarfBuzz] hb-view
Behdad Esfahbod
behdad at behdad.org
Wed Mar 30 10:56:39 PDT 2011
On 03/30/11 13:43, Adam Twardoch (List) wrote:
>
> I think it's safe to assume that hb-view (at least from commandline)
> should act *as if there is only ONE glyph run*, i.e. there is ONE font +
> directionality + script + language + set of features. Just ONE (declared
> externally, using the commandline parameters -- so there should be a
> commandline switch to declare --direction).
Right. But sometimes it's useful to test turning a feature on for one
character only. Note that such changes do not break shaping runs.
Other than that, yes, there is --script, --language, and --direction alreay.
> This is the most basic case, and very common. Also, by doing this, you
> allow testing to focus on Harfbuzz itself.
>
> The only one interesting addition would be an option to output not the
> PNG but instead it would output to stdout a simple string in the form of
> something like:
>
> ((gid,x,y),(gid,x,y),(gid,x,y))
>
> That is, the glyph ID, the x offset and the y offset for each glyph.
> Nothing fancier. This could be fed into any other custom rasterizing
> service that could do the imaging. Of course, the actual syntax could be
> Json, XML or something like that.
You're reading my mind :). That's exactly what I'm doing in the test suite
I'm hacking on right now.
> If you're going to support some more complex markup on input, with mixed
> directionality, mixed feature sets etc., this means you'd be doing
> multiple glyph runs. Then you need to pull in FriBidi, XML input markup,
> also some more refined output markup probably etc. This would still be
> working within one line, I assume, but would be potentially be more
> dependant on other libs. In such case, perhaps even multiple fonts,
> multiple sizes? :)
I'm happy to keep hb-view as a test tool, and advocate people to use
pango-view for the more complex cases. As far as testing harfbuzz goes,
multiple fonts, multiple sizes, etc are not interesting. However, sub-run
features are, because that's what hb_shape() accepts.
> In such case, I'd propose to make this other thing into a second tool
> (something like hb-layout). Please keep hb-view simple -- one glyph run
> only, and minimal dependancy on other libraries! (Right now it's glib,
> cairo and libpng, and I'd like to keep it that way). This way, the
> hb-view code can also be a MINIMAL EXAMPLE for coding (in fact, I just
> showed hb-view.c to one of our developers, and he finally understood how
> it works).
I agree.
> Then, hb-layout could be the more advanced thing, but this really sounds
> like a somewhat separate project. Please keep hb-view simple, and if you
> want, make another tool hb-layout that does more fancy stuff. :)
Yes, forget about hb-layout. It's called pango-view already :).
behdad
> Best,
> Adam
>
More information about the HarfBuzz
mailing list