Giter VIP home page Giter VIP logo

crowbar's People

Contributors

davelab6 avatar dependabot[bot] avatar khaledhosny avatar simoncozens avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

crowbar's Issues

Check Indic clustering

“ Issue seems to be if cluster includes reordered pre-base vowel sign, the next cluster inherits the same colour, so e.g. a word like द्विविधं ends up all being the same colour.”

The rendering sometimes does not match the serialized buffer

Using Amiri-Regular.otf and the text ربها.

  • start lookup 78: The serialization is the same as end lookup 11 above it, but the rendering is different (it shows what would happen a few lookups below).
  • The 2nd end lookup 77, the serialization is different from the end lookup 77 above it, but the rendering is the same.
  • start lookup 197 shows the same rendering as end lookup 198 though the serialization is different.

Question: What does "recursing to lookup" mean

I cannot find anything about this this in the OpenType specification. Searching for "recursing" or "recursive" does not yield any results. I always assumed that features are processed sequencially, but this sounds as if one feature is called from another. Can you provide a link where this is explained?

image

Add more options

These are some options that woukd be handy for debugging:

  • direction (can’t be always guessed correctly)
  • script (ditto, nothing fancy an input field should do)
  • language
  • preserve default ignorables
  • features (also nothing fancy, an input field should do; it is important for me to be able to apply features to parts of the text)
  • face index (for font collections, low priority)

Preview is jumping when outlines are added on hover

I haven't tried it from source yet, so maybe it's just the demo that's not up to date... But when I go to https://www.corvelsoftware.co.uk/crowbar/ and upload a testfont, then type in som sample text like "ollo" and hover over the coloured glyph names "l (25)" or "l.highin (56)", a red outline is added to the corresponding coloured glyph to highlight in the preview, which causes the whole preview to grow a few pixels higher and all letters to move a few pixels down.

I also have a technical question: How did you manage to make the "calt" tables work? As far as I know, opentype.js doesn't support those yet (see opentypejs/opentype.js#443). Ok, that applies to writing functionality only.

No fallback mark positioning

For the string ⟨כֹ⟩ in Cascadia Code 2106.17, HarfBuzz puts the holam at the top left whereas it appears directly above in Crowbar’s colored glyph display. It’s probably another limitation of compiling with HB_TINY.

Option to show all applied lookups even if they don’t affect output

hb-view -V will show all the lookups being applied, even of they don’t change the buffer, and this can become noisy. Crowbar smartly filters such no-op lookups out, which is good most of time. However, sometimes I’m trying to see why a certain lookup is not making an effect, so I need to see where it is being applied and what is the stat of the buffer at this point.

No automatic 'frac'

HarfBuzz automatically applies 'frac' in the presence of U+2044 FRACTION SLASH, but Crowbar doesn’t.

Color font support?

I use Crowbar a lot to debug FRB American Cursive+Print…

This image of the nonsense string "Ö́̆ḧ" helped me track down what I need to do about stroke numbers being sucked in by the gravity of bases and not adhering to that of marks:

Ö́̆ḧ

image

The answer is—more careful use of mark filtering sets, for the curious. Not what this issue is about for sure. :)

Rendering does not show original glyphs at any stage

I am a complete newbie to text rendering so forgive me if I use wrong terminology.

I tried to see the text नमस्कार using font Noto serif Devanagari.

I remember seeing about 2 weeks ago that at some of the shaping stage, if I moved my mouse on that stage the individual characters would show up in the render (in the top right corner) instead of the merged ligatures. But today (12 May) for all stages, the render remains unchanged.

i.e. -

previously : नमस्कार would show up something like - न म स ् क ा र at some stages.

now : नमस्कार shows up like नमस्कार at all stages.

image

Consistent text size

The text size seems to be relative to the bounding box of the text (the bigger the bounding box the smaller the size), this can cause unnecessarily rescaling when moving from lookup to another or when entering new characters that would change the over all bounding box of the text.

Idea: display rendering for all steps

Currently, you hover over each shaping stage in the table and the canvas in the upper right corner will update with its state. With complex scripts, it would be nice if there was a canvas for every step though:

image

Feature: Show lookup type and subtype as number

It would be nice ot not only have the lookup type as text, but also the lookup type and subtype as number. This could be added behind the already displayed lookup type name (for example "single substitution 1.2").

Colors alone don't clearly indicate enabled/disabled feature state

Not even getting into the color-deficient-vision question, it's not clear whether magenta or blue mean "on", so incorporating some additional UI hint on the features toolbar would clarify the state a lot. Seems like a small checkmark or x would do the job without adding significantly to the real estate required.

How harfbuzz.wasm is built

I’m trying to expose the version of HarfBuzz used, but the symbol I want is not seem to be exposed in harfbuzz.wasm, and there is not documentation how it was built and from what sources.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.