Age | Commit message (Collapse) | Author |
|
|
|
|
|
It appears HarfBuzz's script autodetection isn't working here for Arabic.
|
|
Updated the old simple text renderer for the new WrapText wrapping.
|
|
|
|
|
|
The base text direction of each line of text is determined when the document is laid out. When drawing runs, use this predetermined base direction.
|
|
There is still some weirdness with wraps that occur inside a bidi region. The problem is that text drawing is done later, in smaller segments, without knowledge of the paragraph base direction. The base direction should be saved into each GmRun as a flag.
|
|
|
|
|
|
When an URL is visited, ensure that links to that URL update their visual state.
|
|
IssueID #297
|
|
IssueID #229
|
|
The input dialog shouldn't respond to the generic "cancel" command because that'll easily lead to loss of user-entered text.
"cancel" is emitted in many situations, including right before a context menu is opened.
|
|
|
|
Use advance and not bounds.
|
|
The distinction between measure_Text and advance_Text was not very clear. Now there are only measure_Text functions that return both the bounds and the cursor position advancement, and the appropriate metrics are used by the caller.
|
|
|
|
|
|
AttributedText converts the text to a visual UTF-32 string. This allows it to be processed in a more straightforward fashion, and the indirection allows reordering via FriBidi.
|
|
|
|
|
|
Allow using both `pkg-config` provided libraries for local builds, and
configuring more minimal versions for distribution. HarfBuzz has a
bunch of dependencies by default.
TODO: ENABLE_FRIBIDI_BUILD should cause a static library to be built.
|
|
Todo: This seems a little late in the game. The reordering should be done for each paragraph of text.
|
|
|
|
If glyphs are borrowed from a different font, the offset/advance are adjusted to fit the correct monospacing (for pictographs/emoji).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This kind of already works! HarfBuzz will composite glyphs as expected.
Still missing: half-pixel offsets, line wrapping, color escapes, monospace grid alignment.
FriBidi will still be required to determine/reorder text direction within each run.
|
|
Internally, all URIs should be converted to a canonical form so that they can be compared against each other.
The canonical form is an IRI with spaces and reserved characters percent-encoded.
|
|
HarfBuzz will provide proper Unicode text shaping for both simple and complex scripts.
The old `run_Font_` is available for use as a fallback if HarfBuzz is not available due to size or complexity constraints (it's written in C++).
|
|
# Conflicts:
# CMakeLists.txt
|
|
The link numbers were not aligned with all fonts.
|
|
|
|
IssueID #263
|
|
|
|
On a generated image page, the image link URL was not escaped so any spaces would cause it to be broken.
These content links also should not use the background highlighting meant for links open in other tabs.
|
|
|
|
On a generated image page, the image link URL was not escaped so any spaces would cause it to be broken.
These content links also should not use the background highlighting meant for links open in other tabs.
|
|
The sidebars are not supposed to have borders or background fades.
|
|
|
|
It is possible that calling `SDL_RenderClear` was not performing the expected clearing of the TextBuf texture due to the wrong blend mode being in effect.
IssueID #271
|