Skip to content

Text processing #13

@dhardy

Description

@dhardy

This is not a trivial subject; it requires several steps:

  • decoding markup (from Markdown, simplified HTML, etc.)
  • font discovery (now using fontique)
  • font loading (handled by rusttype)
  • font association (currently we only support a single font)
  • conversion from unicode to glyphs (handled by rusttype)
  • line-breaking
  • shaping
  • alignment
  • justified alignment
  • caching and rendering (glyph_brush)
  • extraction of text metrics (use of line height for layouts and text highlighting)
  • text position → screen position translation (drawing edit bar)
  • screen position → text position translation (mouse selection/positioning)
  • clipboard interaction
  • glyph fallback
  • rich-text clipboard support
  • efficient editing for large documents: Efficient editing for larger texts kas-text#15

Currently we use glyph_brush (part of rusttype) to achieve a sub-set of the above.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions