Numeric group separators and Bidi

Egmont Koblinger via Unicode unicode at unicode.org
Tue Jul 9 15:10:00 CDT 2019


Hi Philippe,

What do you mean U+202F doesn't work fo you?

Whereas the logical string "hebrew 123<space>456 hebrew" indeed shows
the number incorrectly as "456 123", it's not the case with U+202F
instead of space, then the number shows up as "123 456" as expected.

I think you need to pick a character whose BiDi class is "Common
Number Separator", see e.g.
https://www.compart.com/en/unicode/bidiclass/CS for a list of such
characters including U+00A0 no-break space and U+202F narrow no-break
space. This suggests to me that U+202F is a correct choice if you need
the look of a narrow space.

Another possibility is to embed the number in a LRI...PDI block, as
e.g. https://unicode.org/cldr/utility/bidic.jsp does with the "1–3%"
fragment of its default example.

cheers,
egmont

On Tue, Jul 9, 2019 at 9:01 PM Philippe Verdy via Unicode
<unicode at unicode.org> wrote:
>
> Is there a narrow space usable as a numeric group separator, and that also has the same bidi property as digits (i.e. neutral outside the span of digits and separators, but inheriting the implied directionality of the previous digit) ?
>
> I can't find a way to use narrow spaces instead of punctuation signs (dot or comma) for example in Arabic/Hebrew, for example to present tabular numeric data in a really language-neutral way. In Arabic/Hebrew we need to use punctuations as group separators because spaces don't work (not even the narrow non-breaking space U+202F used in French and recommended in ISO), but then these punctuation separators are interpreted differently (notably between French and English where the interpretation dot and comma are swapped)
>
> Note that:
> - the "figure space" is not suitable (as it has the same width as digits and is used as a "filler" in tabular data; but it also does not have the correct bidi behavior, as it does not have the same bidi properties as digits).
> - the "thin space" is not suitable (it is breakable)
> - the "narrow non-breaking space" U+202F (used in French and currently in ISO) is not suitable, or may be I'm wrong and its presence is still neutral between groups of digits where it inherits the properties of the previous digit, but still does not enforces the bidi direction of the whole span of digits.
>
> Can you point me if U+202F is really suitable ? I made some tests with various text renderers, and some of them "break" the group of digits by reordering these groups, changing completely the rendered value (units become thousands or more, and thousands become units...). But may be these are bugs in renderers.
>



More information about the Unicode mailing list