Skip to content

Commit bb37ee7

Browse files
committed
Avoid breaking up algorithm steps with NOTE
1 parent 76ca624 commit bb37ee7

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

spec/formatting.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -941,7 +941,7 @@ The _Default Bidi Strategy_ is defined as follows:
941941
1. Append `fmt` to `out`.
942942
1. Else:
943943
1. Let `fmt` be the formatted string representation of the _resolved value_ of `part`.
944-
1. Let `dir` be the directionality of `fmt`,
944+
1. Let `dir` be `DIR(part)`,
945945
one of « `'LTR'`, `'RTL'`, `'unknown'` », with the same meanings as for `msgdir`.
946946
> [!NOTE]
947947
> _Resolved values_ need to track two different pieces of metadata about directionality:
@@ -973,4 +973,20 @@ The _Default Bidi Strategy_ is defined as follows:
973973
1. Append U+2069 POP DIRECTIONAL ISOLATE to `out`.
974974
1. Emit `out` as the formatted output of the message.
975975
976+
The auxiliary function `DIR`, which maps an _expression_ to one of
977+
« `'LTR'`, `'RTL'`, `'unknown'` », is expected to be defined using the
978+
_resolved value_ of the _expression_. An implementation can use
979+
a representation of _resolved values_ that tracks two different
980+
pieces of metadata about directionality: the `isolate` flag used in step 2(iii),
981+
and the directionality itself. Each _function handler_ can have its own means
982+
for determining the directionality annotation on the _resolved value_ it returns.
983+
Alternately, an implementation could simply compute `DIR(exp)` based on the
984+
locale.
985+
986+
> [!NOTE]
987+
> `DIR(exp)` SHOULD NOT be determined by introspecting
988+
> the character sequence in the formatted string representation
989+
> of the resolved value of `exp`.
990+
991+
976992

0 commit comments

Comments
 (0)