Bab. SCs: add cuneiform in "Native" tags
done for Bab.MUL.APIN (almost complete)
- [x] let colleagues check
- [x] copy for Bab.Seleucid
@sushoff any progress here?
yes, most of them are added ...
I was about to close the issue but there are some uncertainties which will be worked on for the Sept. release - anyway no need to delete the native-tags
@sushoff will we see this in 25.3?
oh! yes, I just realized that I had added them only for Bab-MUL.APIN and not Bab-Seleucid.
Scheduled it next.
Uh, I just see we will need to solve the font issue. @alex-w, @10110111 I downloaded and installed the Noto Sans Cuneiform font and set it as application font. But I still see only the font rectangles. Any ideas? Or @sushoff do you see the characters?
yes, I see cuneiform (not tofu) - that used to be the case since May or so ... but Assyriologists may blame us (me) for using such an old font (Old Babylonian instead of NeoAssyrian).
Here is a screenshot that I had made some months ago for my work report:
we had agreed some months ago that it is not worth to include all fonts that someone might want in the Stellarium download package (@10110111 had found the size and it was obviously unacceptable)
Is there any option to "load fonts on demand" for SCs?
I downloaded and installed the Noto Sans Cuneiform font and set it as application font. But I still see only the font rectangles. Any ideas?
Which OS are you on? I have NotoSansCuneiform-Regular on Ubuntu 20.04 and the cuneiforms are shown correctly in Stellarium (with DejaVu Sans being the app font).
@10110111 had found the size and it was obviously unacceptable
This was for the whole pack of Noto fonts. Noto Sans Cuneiform Regular is 802K, which may be OK.
Is there any option to "load fonts on demand" for SCs?
First we need to make sure that we know how to make them work on all platforms...
I am on Win11. Ah, interesting: at work I have a fresh install (W10 forced) and saw boxes, at home I just installed in the same way, and see the glyphs.
Erm, at least some cuneiform strings, some strings as boxes :-( And if Cumeiform glyphs are shown, the other strings are cropped. Playing around with font sizes and string parts (native/transliteration/translation) boxes may flip into glyphs.
Also, when I select Noto Cuneiform as app font, vertical spacing is enlarged. However it seems I can leave app font as Noto Sans, and it still finds the Cuneiform glyphs (or not).
It is OK for me to not install tens of megabytes of fonts by default. Some readme (or description.md, or even User Guide) can indicate which fonts have to be installed to enjoy all features of a more exotic skyculture. Only that it would be fine to have it fully working...
I now also filled in the (same) cuneiform signs in "Seleucid". I am a bit undecided whether it is really correct because a) on the one hand, to me the font appears Old Babylonian (but some of you see only tofu, so it may depend on locally installed fonts?) and that was not used in Seleucid time b) in this late time, many terms had many spelling variants (e.g. abbreviations, Akkadian alternatives for Sumerian originals, syllabic writings might have looked differently ...)
So, I am not decided what do here in particular... I thought about using the "astronomical diaries" only, but even within the text corpus there could name variants. As of today, I think, name variants occur only pre-Seleucid and this would perhaps be doable in future but I need to do some research on that first. Hence, I think, I used always the old version (for the time being); this could later be reworked, but for now, the cuneiform strings are at least not empty anymore.
Good to have them included!
I am afraid only few (tens at best) users will note the difference between "decoration" ("Wow, they even show Cuneiform!") and correct strings, but of course just those will need it (and complain about errors).
I wonder about this circular disk "character" - does it exist?
My understanding is that there are Unicode positions for various characters, and fonts which implement them. The same characters may look different after some time (cf. 14th-ct Blackletter vs. 18th-ct Antiqua). If this is the case, then we would have to find different fonts for Old Babylon vs. Seleucid. But you certainly know better or know people who do.
Currently #4510 gives me headaches. Are you on Windows or Linux? It seems Linux may be better here again, I don't see Cuneiform unless I select Noto Sans Cuneiform as application font. Just digging into the QFontDatabase. maybe we can
- use a fonts directory in the users' Stellarium User Data Dir and load all required extra fonts from there at program start - no need for system-wide installation in this case (which may be an issue for non-admin users).
- do something (and this is still to be found out) to actually use e.g. Noto Sans Cuneiform for Cuneiform characters even if Noto Sans is set as application font. I have the suspicion that Noto Sans Cuneiform is missing some metadata.
- do something about RTL languages and combining cultural labels, and esp. Gravity Labels (those for planetarium domes...). Here Cuneiform don't show at all, and Arab is letter-reversed with broken ligatures.
Any technical help around font handling welcome - it's not my natural habitat!
the disk character exists in old fonts, see this mathematical tablet
I think,"usea fonts directory in the user's Stellarium User Data Dir" might be an option ...
However, I am also thinking that I personally would wonder if I can see a specific font in applicationX and not in applicationY. e.g. I am currently wondering why I can use four different cuneiform fonts in LaTeX but the same ones don't work in my encyclopaedia (already suspect what the problem is but did not find a solution yet). However, this might be a very freaky issue.
I guess, your suggested solution will make most users happy.
LaTeX fonts reside totally elsewhere from system fonts and are handled (I think in variable configurations) by whatever TeX is installed, so that's no (big) surprise.
However, when we want to avoid default installation of all the possibly required fonts, we need a user-managable way for this that does not require admin privileges. The fonts directory feels like the natural way. Somewhere in a readme (of an optionally installed SC) or even SUG we should then state "to properly enjoy, install font XY from Z". Whether we can specify in index.json what font to download (with URL) may come in the future.
In my investigations around RTL font issues (#4510 for #4493) I may have found the way to go for bidirectional (mixed) labels. Not yet for then dissecting this mixed string into gravity labels, this will most likely not work ok in 25.3.
Where I have not yet started is how fonts like "Noto Sans" are combined from different "Noto Sans XYZ" subfamilies.
You may want to try QFontDatabase::addApplicationFallbackFontFamily with font family Segoe UI or maybe Segoe UI Historic for QChar::Script_Cuneiform. This will be Windows-specific, but at least on Linux (both X11 and Wayland) there's no problem at all, so this may be sufficient under conditional compilation.
LaTeX fonts reside totally elsewhere from system fonts and are handled (I think in variable configurations) by whatever TeX is installed, so that's no (big) surprise.
sorry, ... I didn't ask you to solve my other problem as you don't even fully understand it
I just said people might wonder sth. like "Stellarium displays FontXY while ApplicationXY on my computer does not" if we deliver the fonts in the suggested ... but actually, that's not our problem. I think, it's a good idea
You may want to try
QFontDatabase::addApplicationFallbackFontFamilywith font familySegoe UIor maybeSegoe UI HistoricforQChar::Script_Cuneiform. This will be Windows-specific, but at least on Linux (both X11 and Wayland) there's no problem at all, so this may be sufficient under conditional compilation.
Ah, MANY THANKS! I just can set this as application font in the Tools dialog, and it shows Cuneiform, Arab and Chinese while not breaking the vertical spacing. So, no need for installing Noto Sans Cuneiform, we should just configure Segoe UI Historic as default app font on Windows. I will try to see whether addApplicationFallbackFontFamily() works in addition.
EDIT: Indeed, using this as fallback font allows any other font as app font, just provides missing glyphs.
GravityLabels don't show here with Cuneiform glyphs as well, but let's task that for 25.4.
Hello @sushoff!
Please check the fresh version (development snapshot) of Stellarium: https://github.com/Stellarium/stellarium-data/releases/tag/weekly-snapshot
Hello @sushoff!
Please check the latest stable version of Stellarium: https://github.com/Stellarium/stellarium/releases/latest