Skip to content

Commit 68ed612

Browse files
committed
Update tables to Unicode 16.0.0.
Add license file change check. (Since the license file changed this time, and it's something that one should check if it happens.) Some clean-up. Documents that the BG9c rule from Unicode 15.10 is not supported. (That would require more bits of information per character, information that the current table builder does not have, and a correspondingly larger state machine.)
1 parent 3a3ed8e commit 68ed612

22 files changed

+18153
-6229
lines changed

pkgs/characters/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 1.4.0
2+
3+
* Updated to use Unicode 16.0.0.
4+
15
## 1.3.1
26

37
* Fixed README rendering on pub.dev and API docs.

pkgs/characters/README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,12 @@ the individual characters of a string,
1111
and a way to navigate back and forth between them
1212
using a [`CharacterRange`][CharacterRange].
1313

14+
Based on Unicode <!-- unicode-version -->version 16.0.0<!-- /unicode-version -->.
15+
16+
This package is not script-aware, and does not currently support the rule for
17+
Indic Conjunct Breaks introduced in Unicode 15.10.0
18+
([GB9c](https://www.unicode.org/reports/tr29/tr29-43.html#GB9c)).
19+
1420
## Unicode characters and representations
1521

1622
There is no such thing as plain text.

pkgs/characters/lib/src/characters.dart

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import "characters_impl.dart";
1919
/// which allows iterating the independent characters in both directions,
2020
/// but which also provides ways to select other ranges of characters
2121
/// in different ways.
22-
abstract class Characters implements Iterable<String> {
22+
abstract interface class Characters implements Iterable<String> {
2323
/// An empty [Characters] containing no characters.
2424
static const Characters empty = StringCharacters("");
2525

@@ -272,7 +272,7 @@ abstract class Characters implements Iterable<String> {
272272

273273
/// Replaces the first occurrence of [pattern] with [replacement].
274274
///
275-
/// Returns a new [Characters] where the first occurence of the
275+
/// Returns a new [Characters] where the first occurrence of the
276276
/// [pattern] character sequence, if any, is replaced by [replacement].
277277
///
278278
/// Returns the current characters if there is no occurrence of [pattern].
@@ -304,7 +304,7 @@ abstract class Characters implements Iterable<String> {
304304
/// The range may even be empty, but that will still correspond to a position
305305
/// where both start and end happen to be the same position.
306306
///
307-
/// The source sequence can be separated into the *preceeding* characters,
307+
/// The source sequence can be separated into the *preceding* characters,
308308
/// those before the range, the range itself, and the *following* characters,
309309
/// those after the range.
310310
///
@@ -318,11 +318,11 @@ abstract class Characters implements Iterable<String> {
318318
/// Operations starting with `collapse` reduces the current range to
319319
/// a sub-range of itself.
320320
/// Operations starting with `expand` increase the current range
321-
/// by moving/ the end postion to a later position
321+
/// by moving the end position to a later position
322322
/// or the start position to an earlier position,
323323
/// and operations starting with `drop` reduce the current range
324324
/// by moving the start to a later position or the end to an earlier position,
325-
/// therebyt dropping characters from one or both ends from the current range.
325+
/// thereby dropping characters from one or both ends from the current range.
326326
///
327327
///
328328
/// The character range implements [Iterator]
@@ -479,7 +479,7 @@ abstract class CharacterRange implements Iterator<String> {
479479
/// Returns `true` if the range is modified and `false` if not.
480480
bool moveBackTo(Characters target);
481481

482-
/// Moves to the range after the previous occurence of [target].
482+
/// Moves to the range after the previous occurrence of [target].
483483
///
484484
/// If there is an occurrence of [target] in the characters preceding
485485
/// the current range,
@@ -506,7 +506,7 @@ abstract class CharacterRange implements Iterator<String> {
506506
/// the current range, and `false` if not.
507507
bool expandNext([int count = 1]);
508508

509-
/// Expands the range to include the next occurence of [target].
509+
/// Expands the range to include the next occurrence of [target].
510510
///
511511
/// If there is an occurrence of [target] in the characters following
512512
/// the current range, the end of the the range is moved to just after
@@ -554,7 +554,7 @@ abstract class CharacterRange implements Iterator<String> {
554554
/// the current range, and `false` if not.
555555
bool expandBack([int count = 1]);
556556

557-
/// Expands the range to include the previous occurence of [target].
557+
/// Expands the range to include the previous occurrence of [target].
558558
///
559559
/// If there is an occurrence of [target] in the characters preceding
560560
/// the current range, the stat of the the range is moved to just before
@@ -579,7 +579,7 @@ abstract class CharacterRange implements Iterator<String> {
579579
/// Returns `true` if there is an occurrence of [target] and `false` if not.
580580
bool expandBackUntil(Characters target);
581581

582-
/// Expands the range with the preceding characters satisffying [test].
582+
/// Expands the range with the preceding characters satisfying [test].
583583
///
584584
/// Iterates back through the characters preceding the current range
585585
/// and includes them into the range until finding a character that
@@ -661,7 +661,7 @@ abstract class CharacterRange implements Iterator<String> {
661661
/// first occurrence of [target].
662662
///
663663
/// If there are no occurrences of [target] in the range,
664-
/// all characteres in the range are removed,
664+
/// all characters in the range are removed,
665665
/// which gives the same effect as [collapseToEnd].
666666
///
667667
/// Returns `true` if there is an occurrence of [target] and `false` if not.
@@ -713,7 +713,7 @@ abstract class CharacterRange implements Iterator<String> {
713713
/// last occurrence of [target].
714714
///
715715
/// If there are no occurrences of [target] in the range,
716-
/// all characteres in the range are removed,
716+
/// all characters in the range are removed,
717717
/// which gives the same effect as [collapseToStart].
718718
///
719719
/// Returns `true` if there is an occurrence of [target] and `false` if not.

pkgs/characters/lib/src/characters_impl.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import 'grapheme_clusters/table.dart';
1010
/// The grapheme clusters of a string.
1111
///
1212
/// Backed by a single string.
13-
class StringCharacters extends Iterable<String> implements Characters {
13+
final class StringCharacters extends Iterable<String> implements Characters {
1414
@override
1515
final String string;
1616

0 commit comments

Comments
 (0)