Bug 165431 - Numbering Sequence Scheme Based On Unicode Sequencing
Summary: Numbering Sequence Scheme Based On Unicode Sequencing
Status: UNCONFIRMED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: LibreOffice (show other bugs)
Version:
(earliest affected)
Inherited From OOo
Hardware: All All
: medium enhancement
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: CJK
  Show dependency treegraph
 
Reported: 2025-02-25 12:06 UTC by vicxp0518
Modified: 2025-07-15 18:27 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description vicxp0518 2025-02-25 12:06:00 UTC
Description:
Request a feature to allow define numbering scheme (outline numbering format) based on user-defined Unicode code range.

For example, CJK users always would love to use "Circled Numbers" or "Boxed Numbers", like ①, ❶, ㊀, ⓵, BUT UP TO '9999' or any. However, it is so far not achievable in Libre. 

But one approach i think would be brilliant, is to allow the users define their own custom Unicode code-point-of-sequencing-start, then the only thing left for the user is to create their own beloved characters in Private Use Area. By adding this feature, Libre will certainly become the very very first and awful software that solved this human-history-long headache.

Function description in short:
① In any Numbering dialogs in Writer/Calc/Presentation/Draw/etc:
②  allow user to define the beginning code point of a custom number sequence,
③  let user choose which font or character style to use,
④  brilliant!

Steps to Reproduce:
1. In any numbering dialogs.
2. In number format drop-down list.
3. Hungary for circled numbers larger than 50.

Actual Results:
Not supported.

Expected Results:
Limitless numbers with custom fonts.


Reproducible: Always


User Profile Reset: Yes

Additional Info:
NA
Comment 1 V Stuart Foote 2025-02-25 15:03:46 UTC
Um, sure. Though U+2460-U+2473 already offer a range of 20 codepoints: CIRCLED DIGIT ONE --> CIRCLED NUMBER 20.

Creating a font and assigning glyphs to some PUA might suffice and give you the increased number code points to create glyphs and work against.

But usage is very niche to consider refactor to support a sequence of glyphs pulled from Unicode PUA.

You can assign glyphs from any font any Unicode codepoint as bullets for Unordered lists. But not clear if such glyphs would follow in sequence for use in an ordered list or paragraph numbering.

@Justin, any thoughts?
Comment 2 vicxp0518 2025-07-14 03:52:09 UTC
Yes, using bullets is usually enough for paragraph listing, but here, let's also consider footnote, endnote, page number, math-numbering, auto-numbering, etc.

E.g. when I have hundreds of footnotes in a research report, where 'continuous' while 'circled' numbering are both demanded.

I've thinking deeply for tricks or walk-around to achieve that without willing for any new features, but still finding no way out. I was even thinking to do some tricks by utilizing suffix characters (after number), however, the superscript number in the text doesn't show up the suffix character indeed, again making it no where to go.
Comment 3 Justin L 2025-07-15 13:48:23 UTC
(In reply to V Stuart Foote from comment #1)
> @Justin, any thoughts?
Anything that depends on PUA is by definition inadequate. It will result in meaningless gibberish for anyone who doesn't have that specific font available.

> 3. ... for circled numbers larger than 50.
Yes, already in OOo 3.3 I can see that one of the numbering list choices is these circled numbers, and yes, it does only go up to 50 (with a fallback to normal numbers after that). (I assume that is a Unicode limitation - in OOo 3.3 the limit was 20. Unicode 12 mentions "Enclosed CJK Letters and Months" which contains up to circled 50.)

P.S. This must be a packaging/language thing, because in my English Ubuntu LO I don't see these extra list options. Oh, yes - if I go to Tools - Options - Language and then enable "Asian" then I get these additional numbering choices.

One of the numbering choices is "Native Numbering". That sounds like you could define an arbitrary numbering scheme as part of the localization process. I don't know any of the details about this, but perhaps 
    css::i18n::XNativeNumberSupplier or searching for "NatNum" might help.
i18npool/source/localedata/data/locale.dtd didn't help me...


In general, it sounds like a horrible idea to me. Obviously trying to fit a 3 or four digit character inside a circle in the space designed to only hold one character is simply going to look terrible. Plus, why stop arbitrarily at 9999? (Or better yet, why not stop at 50?)
Comment 4 vicxp0518 2025-07-15 17:41:48 UTC
Yea I've never seen numbers larger than 999 to be fit into a circle, but in Chinese documentations, the need for circled numbers between 51 and some hundreds (999) is a long time request among pro authors/editors/cartographers/engineers. The fallback to normal numbers after 50 has never stopped academic/religious books to maximize the usage of the circled type, incl me myself -- yes you could see many books struggling with it here. The fallback makes the footnotes/endnotes ugly but we really love that full-width circle and the condensed numbers inside it... ;-) 

(ps. Bus route numbers on Chinese maps are also circled/boxed: this is how much we love it. In QGIS this can be easily done by adding a suffix letter with a custom font.)

Btw, the circled type mentioned here is just an example, e.g. boxed number, inverted boxed number, braille number, and the Lorem Ipsum in Chinese -- 天地玄黃宇宙洪荒日月盈昃晨宿列張 (each character stands for a sequenced number in its fixed position, commonly used by ancient books, but for now we have to manually sort-and-type) ... The core mind here is to extend the numbering to be more customizable and flexible. Cheating with Unicode is just what came into my mind, but not bound to it when better solutions do. Say e.g.: 

What if there's a textbox where users could put into their own beloved sequence, and let LO pick up one-by-one in stack? (Of course such custom number sequence should be saved within the document)
Comment 5 V Stuart Foote 2025-07-15 18:27:21 UTC
For see also bug 134706, Kevin S. pushed

https://gerrit.libreoffice.org/c/core/+/129015 for bullet lists wef 7.4 build, with cherry picks back to 7.2 gets the additional Unicode Circled numbers in place (21 - 50) for use as bullet numbering. The '①,②,③,...' numbering. They can be used as the numbering format from the Tools -> Footnote/Endnote Settings... dialog and work up to 50.

The <Alt>+X combining character method with U+20DD COMBINING ENCLOSING CIRCLE is not very effective, really just limited to encircling a single glyph--no way to scale it.

And before the additional 30 circled numbers, one suggestion for footnote/endnote  enclosed values was to set a border active in the footnote/endnote 'Anchor' style--so boxed rather than circled. Would get to the 9999 suggested. But that might not do well on export to OOXML, probably ODF only.

https://ask.libreoffice.org/t/how-to-extend-a-circled-number-to-more-than-20/84924/2