~jaro/balkon

ref: 9927e551b32660d4bc536bd0b5aa1b3222613c4b balkon/CHANGELOG.md -rw-r--r-- 2.2 KiB
9927e551Jaro Add line numbers to laid out fragments. 1 year, 23 days ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# Revision history for Balkón

## 1.0.0.0 -- TBD

* Separated plain text layout interface into `Data.Text.ParagraphLayout.Plain`
  submodule, in anticipation of a rich text interface.

* Future-proofed `ParagraphOptions` and `SpanOptions` by hiding their
  constructors. Use `defaultParagraphOptions` and `defaultSpanOptions` instead.

* Added line numbers to laid out fragments.

## 0.3.0.1 -- TBD

* Increased font size for the "shaped runs" output so that it better fits
  a window with 640 pixels of width.

* Fixed compatibility with base < 4.15.

## 0.3.0.0 -- 2023-04-13

* Added partial support for bidirectional text
  (LTR and RTL in the same paragraph).

    * The paragraph direction is assumed to be LTR.
      This will be configurable in a future interface.

    * Only strong directional characters are used to determine text direction.

    * The direction of weak directional characters and neutral characters is
      determined by the nearest preceding strong directional character, or if
      none is found, the nearest following strong directional character.

    * Explicit bidirectional formatting characters are ignored.

* Exposed functions to allow verification of correct input text slicing:
  `paragraphSpanBounds`, `paragraphSpanTexts`, and `paragraphText`.

## 0.2.1.0 -- 2023-04-04

* Added pagination.

## 0.2.0.0 -- 2023-03-28

* Added support for forced (hard) line breaks in the input text.

* Now also trimming white space at the beginning of lines.

* Internally, language tags will be cut at the first invalid character before
  being passed to ICU.

* Tests will generate output in "shaped runs" format which can be passed to
  a text rendering application.

## 0.1.0.0 -- 2023-03-13

* Text shaping using HarfBuzz.

* Breaking text on line and character boundaries using the International
  Components for Unicode (ICU) library.

* Trimming white space at the end of lines.

* Calculation of containing block bounds and fragment bounds.

* Support for plain text (single font and line height) in one horizontal
  direction (LTR or RTL).

* Input can be divided into spans. This division will be preserved in the
  output.

* Each span can use a different language for text shaping and line breaking.