Skip to content

Added Chinese_Xianglin_Star_Chart and Manchu sky cultures#4779

Merged
alex-w merged 26 commits intoStellarium:masterfrom
Guanjin0562:xianglin-and-manchu-skycultures
Mar 27, 2026
Merged

Added Chinese_Xianglin_Star_Chart and Manchu sky cultures#4779
alex-w merged 26 commits intoStellarium:masterfrom
Guanjin0562:xianglin-and-manchu-skycultures

Conversation

@Guanjin0562
Copy link
Copy Markdown
Contributor

@Guanjin0562 Guanjin0562 commented Feb 19, 2026

Description

Added Chinese_Xianglin_Star_Chart and Manchu sky cultures.

The Chinese_Xianglin sky culture originates from a 17th-century Chinese antique star chart. The English translations of its constellation names are consistent with those of other Chinese sky cultures. Its classification parameter is "single".

The Manchu people are an ethnic minority in Northeast China. This sky culture is derived from ethnographic literature. All star names in the source material are recorded in Chinese, with no corresponding Manchu terms provided. Therefore, I believe it is necessary to include both Chinese and Manchu (reconstructed from Chinese pronunciation) in the "native" field. Its classification parameter is "ethnographic".

  • Did you remember to update skycultures/CMakeLists.txt file respectively to changes in sky cultures?
  • Did you remember to define classification parameter in sky cultures (see index.json file)?
  • Did you remember to define license parameter in sky cultures (see description.md file)?
  • Did you remember to define region parameter in sky culture (see index.json file)?

Fixes # (issue)
None.

Screenshots (if appropriate):

image

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • This change requires a documentation update
  • Housekeeping

How Has This Been Tested?

The two sky cultures can be displayed normally, including constellations, names, illustrators and descriptions.
The sky cultures do not affect other code files or the program's operation.

Test Configuration:

  • Operating system: <Name, version number>
  • Graphics Card: <Manufacturer (likely Intel, NVidia, AMD?), Model (HD, Geforce, Radeon..., with model number), driver version?>

Checklist:

  • My code follows the code style of this project.
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation (header file)
  • I have updated the respective chapter in the Stellarium User Guide
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules

@github-actions
Copy link
Copy Markdown

Great PR! Please pay attention to the following items before merging:

Files matching skycultures/**:

  • Did you remember to update skycultures/CMakeLists.txt file respectively to changes in sky cultures?
  • Did you remember to define classification parameter in sky cultures (see index.json file)?
  • Did you remember to define license parameter in sky cultures (see description.md file)?
  • Did you remember to define region parameter in sky culture (see index.json file)?

This is an automatically generated QA checklist based on modified files.

@alex-w alex-w added data Missing/bad/outdated data, but no code error subsystem: skycultures The issue is related to skycultures of planetarium... labels Feb 19, 2026
@alex-w alex-w added this to the 26.1 milestone Feb 19, 2026
@Guanjin0562
Copy link
Copy Markdown
Contributor Author

The Chinese_Xianglin​ sky culture originates from a 17th-century Chinese antique star chart. The English translations of its constellation names are consistent with those of other Chinese sky cultures. Its classification parameter is "single".

The Manchu​ people are an ethnic minority in Northeast China. This sky culture is derived from ethnographic literature. All star names in the source material are recorded in Chinese, with no corresponding Manchu terms provided. Therefore, I believe it is necessary to include both Chinese and Manchu (reconstructed from Chinese pronunciation) in the "native" field. Its classification parameter is "ethnographic".

@alex-w
Copy link
Copy Markdown
Member

alex-w commented Feb 19, 2026

Thank you very much for your contribution!

I have a question - is it possible to add an IPA data to Chinese Xianglin​ sky culture?

@Guanjin0562
Copy link
Copy Markdown
Contributor Author

Thank you very much for your contribution!

I have a question - is it possible to add an IPA data to Chinese Xianglin​ sky culture?

Of course, it is possible, and I noticed that the Chinese Song dynasty sky culture already has IPAs with identical star names, so we can simply migrate and use them. However, this might take some time.

![](illustrations/xianglin.png)

*The Xianglin Star Chart (composited from 31 sectional maps)*

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You could add a section ### Constellations here which could describe the figures a little more. Things you would like to tell when you explain the sky to others.

@gzotti
Copy link
Copy Markdown
Member

gzotti commented Feb 19, 2026

Thanks a lot!
I wonder whether the illustrations are really useful though, as they are only connect-the-dot patterns which the linesets provide already. Or is there something I overlooked in my brief first fly-over? Why are there sometimes 2 versions?

@Guanjin0562
Copy link
Copy Markdown
Contributor Author

Regarding the IPA for the Chinese Xianglin sky culture, I have already discussed this with Sun Shuwei. I will conduct a more systematic organization and add them. If necessary, I may revise the existing IPAs in the Chinese Song Dynasty sky culture to ensure consistency.

For the description of the Chinese Xianglin sky culture, I believe we can follow the approach used for Chinese Chenzhuo—briefly describing a few distinctive constellations as examples. There is no need to list them all, as the complete constellation table is already available in the Chinese sky culture. It would be sufficient to highlight only the notable differences between them in this specific sky culture.

The constellation illustrations in the Manchu sky culture are indeed not essential. They are all hand-drawn star charts from field research. When creating the star lines, I referred to these images. However, some of them deviated too significantly from the actual starry sky, so I had to apply some stretching and adjustments, which resulted in two versions. The images in the description section are all the original ones. I can remove the unnecessary illustrations from the sky view and modify the filenames, displaying only all the original images in the description.

@gzotti
Copy link
Copy Markdown
Member

gzotti commented Feb 19, 2026

Of course the hand drawings give some personal/historical touch. If they fit well (did not check yet) you can leave them in. But i know sometimes adjusting a drawing with star symbols is a nightmare.

@gzotti
Copy link
Copy Markdown
Member

gzotti commented Feb 21, 2026

Hmm, the drawings don't really fit well, unfortunately. These should be re-made probably based on screenshots of Stellarium. Some distortions are unavoidable, but this cannot be presented to an auditorium of laypeople.

You could fully remove the drawings and emulate this style with our lines: zero-length sections (only one star) are drawn by circling the star.

On my European Windows the first name (sorry for my ignorance, what character set is this?) is only displayed as empty blocks. We used a certain tweak for Cuneiform. Can you identify the character script name in https://doc.qt.io/qt-6/qchar.html?

@gzotti
Copy link
Copy Markdown
Member

gzotti commented Feb 21, 2026

Three issues:

  1. Given its close connection, the skyculture should be named "Chinese Manchu". Then is is sorted next to its kin.

  2. The logfile reports:

[ 468.425][WARN] Empty asterism lines array found for asterism "AST manchu 063" ("??")
[ 468.426][WARN] Empty asterism lines array found for asterism "AST manchu 092" ("??")
[ 468.426][WARN] Empty asterism lines array found for asterism "AST manchu 150" ("??")
[ 468.426][WARN] Empty asterism lines array found for asterism "AST manchu 166" ("??")
[ 468.426][WARN] Empty asterism lines array found for asterism "AST manchu 170" ("??")
[ 468.427][WARN] Empty asterism lines array found for asterism "AST manchu 264" ("???(??)")

  1. The structure of description.md does not follow the mandatory structure described in the User Guide 9.1.
  • Introduction – a summary that could ideally be shown on a small screen entirely.
  • Description – this can be structured with further subsections: non-astronomical cultural information (place, time, ethnicity, livelyhood, ...), astronomy, ...
  • Constellations: structured list as described so that the speech engine can work.
  • References
  • Authors
  • License

@10110111
Copy link
Copy Markdown
Contributor

On my European Windows the first name (sorry for my ignorance, what character set is this?) is only displayed as empty blocks.

It's the Manchu script. For the first character in ᡤᠠᠰᡥᠠ I get this on Ubuntu 22.04:

$ fc-list :charset=1864
/usr/share/fonts/truetype/noto/NotoSansMongolian-Regular.ttf: Noto Sans Mongolian:style=Regular

BTW, does it not display even in the browser for you?

@10110111
Copy link
Copy Markdown
Contributor

This script is another example of a script that will break in gravity labels, e.g. ᡤᠠᠰᡥᠠ will look like so with the letters separated by spaces: "ᡤ ᠠ ᠰ ᡥ ᠠ".

@gzotti
Copy link
Copy Markdown
Member

gzotti commented Feb 21, 2026

I see the chars here in the github website. But the Qt font database needs a little nudge. I just added "Mongolian Baiti" to the list. (Qt6.8+ only.)

Gravity labels: Yes, this feature needs a rewrite for many non-Latin scripts. :-(

@sushoff
Copy link
Copy Markdown
Contributor

sushoff commented Feb 24, 2026

The constellation illustrations in the Manchu sky culture are indeed not essential. They are all hand-drawn star charts from field research. When creating the star lines, I referred to these images. However, some of them deviated too significantly from the actual starry sky, so I had to apply some stretching and adjustments, which resulted in two versions. The images in the description section are all the original ones. I can remove the unnecessary illustrations from the sky view and modify the filenames, displaying only all the original images in the description.

thanks @Guanjin0562 for this amazing contribution!

As your hand drawn images serve as a reference in scholarly work, I recommend to leave them in.

@gzotti
As missing fonts keep causing issues, might it be possible to link any public font repo to local Stellarium installations? (e.g. phabricator or googlefonts ...) Or to ask the question the other way round: can we make fonts "loaded" on purpose when a SC is called that needs them?

@gzotti
Copy link
Copy Markdown
Member

gzotti commented Feb 24, 2026

It seems we don't need to install any extra fonts. Qt has its own font database, but it may not know which fonts to apply to more exotic script systems. We can at this point not say when the next skyculture will be brought to us or which script it may use. It seems @10110111 can see the glyphs out of the box on Linux, but on Windows we must help Qt a bit in code and tell it "use font XY for xy script". I have added a fitting font for Mongolian script in master some days ago. (see above.) Of course someone could work into the future and go through the list linked in the discussion above, and decide on a stock Windows11 install which fonts to use for all these script systems, just in case.

@sushoff
Copy link
Copy Markdown
Contributor

sushoff commented Feb 24, 2026

sorry for not being clear: I did not think of "installing own fonts", but allowing them to be pulled if necessary.

background thought: fonts are continually developed further - our knowledge on scripts grows, laypeople will be happy with "any" cuneiform-like font that happens to float around in any public library (might that be Qt or GoogleFonts or anything else), but specialists who wish to create illustrations for their research papers may want a specific font. Not Old Babylonian but NeoAssyrian (is the most frequent issue). Of course, not all amateur astronomers and school teachers will need that - or even be able to distinguish it. So, it would be nice of us to provide the specialists with the option to pull (download or use-by-hyperlink ...) a specific font if required.

@sushoff
Copy link
Copy Markdown
Contributor

sushoff commented Mar 18, 2026

I think we/ I start over-engineering...

As far as I understand @Guanjin0562 , he found a workaround for Manchu SC. So, we can - in my view - just accept the SC as is for the March release.

However, @gzotti, I think we could think about providing more technical options in future releases - with no urgency, of course... pretty much as for the "sky culture explorer" in the other threat ...

@gzotti
Copy link
Copy Markdown
Member

gzotti commented Mar 18, 2026

It is also that somebody relevant here once told me the Chinese SCs traditionally have used stick figures only (of stars visible with the unaided eye). Of course, any SC author can decide to fill the sky with patterns as needed. However, only brighter stars (mag<5 with rare extensions into mag6) make sense to me for "traditional" SCs. And sorry, yes, I am just projecting that presumably many other users will have the same expectation. Questions will go to us, and we will have to write or at least coordinate the answers. So, better clarify now.

Comment thread skycultures/chinese_manchu/description.md Outdated
@10110111
Copy link
Copy Markdown
Contributor

10110111 commented Mar 18, 2026 via email

@alex-w
Copy link
Copy Markdown
Member

alex-w commented Mar 18, 2026

No, in English the m-dash is not separated from the words—at least not in this use case.

English English or American English?

@Guanjin0562
Copy link
Copy Markdown
Contributor Author

It is also that somebody relevant here once told me the Chinese SCs traditionally have used stick figures only (of stars visible with the unaided eye). Of course, any SC author can decide to fill the sky with patterns as needed. However, only brighter stars (mag<5 with rare extensions into mag6) make sense to me for "traditional" SCs. And sorry, yes, I am just projecting that presumably many other users will have the same expectation. Questions will go to us, and we will have to write or at least coordinate the answers. So, better clarify now.

You are right. For almost all traditional SCs, there is a tendency to use stars brighter than magnitude 5, and it's almost impossible for them to include stars fainter than magnitude 6.5, which are invisible to the naked eye. However, for some specific SCs, this general rule might not strictly apply.
Take the Chinese system, for example, which includes 1464 stars. This sheer number means it inevitably incorporates a significant quantity of faint stars. One example is HIP 113445, a star of magnitude 6.44. It was listed as a component of the constellation "Thunder and Lightning" as far back as the 3rd century when the constellation system was being established (refer to the Chinese Chenzhuo SC). I also find it hard to understand, but all evidence points to this. The only plausible explanation is that the creators of these asterisms, in pursuit of a visually pleasing shape, incorporated some faint stars into the patterns. This practice is actually quite common in the Chinese constellation system.

@sushoff
Copy link
Copy Markdown
Contributor

sushoff commented Mar 18, 2026

It is also that somebody relevant here once told me the Chinese SCs traditionally have used stick figures only (of stars visible with the unaided eye). Of course, any SC author can decide to fill the sky with patterns as needed. However, only brighter stars (mag<5 with rare extensions into mag6) make sense to me for "traditional" SCs. And sorry, yes, I am just projecting that presumably many other users will have the same expectation. Questions will go to us, and we will have to write or at least coordinate the answers. So, better clarify now.

that's right ... the faint stars are rather brave identifications and I would be VERY careful with them in historical stick figures (with regard to their use in transdisciplinary research = use of maps by users without knowledge of the culture). However, I think, this does not really apply to the problematic cases here - this needs to be clarified in the description: you're right.

*Well, Ghosts, Willow, Star, Extended Net, Wings, Chariot Mansions*

## Constellations

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also here: The technical structure of this section is important. The introductory text must be moved above into the ## Description. Hmm, actually all of this should be moved up. The chapter ## Constellations should consist of ##### constellation A elements only.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So, in the Constellation section, do I really need to write an introduction to all 283 constellations, each with a five-level heading #####?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the goal of this section is to simply give some common information rather than describe each (or some) of the constellations, you can just make it ### Constellations. The level-2 heading is reserved for the section that contains per-constellation descriptions.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I understand that the ## Constellations section is used for audio explanations and therefore requires strict formatting. What I'm more concerned about is the specific content of that section, specifically the introduction to each constellation. I may not be able to complete the introductions for all 283 constellations.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section isn't mandatory.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The text in the ##### constel inside ## Constellations is used for display and audio output. If the program cannot identify this structure, these output elements just don't show up. The system allows very detailed explanations or storytelling, it is up to you to make use of it.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do I have to cover all the constellations? Can I complete a part first and gradually add more later?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You don't "have to". Maybe start with important ones, and gradually add. You can also say OK for now and add/improve later. Just add info in the right sections please.


While omitting the constellations mentioned above, the official system added new constellations near the southern celestial pole, which are not present in the *Xianglin* Star Chart.

In the following `Constellations` chapter, all 283 Chinese traditional constellations will be introduced. However, this introduction is *not yet complete*, as only basic information about the constellations, such as the number of stars and their locations, has been compiled. The cultural significance behind each constellation has not been fully explored in this chapter.
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have added a basic introduction for each constellation, following the classic text structure used in ancient Chinese books to introduce constellations. I have manually checked to ensure that the English version of each constellation corresponds to the index.json.

@gzotti
Copy link
Copy Markdown
Member

gzotti commented Mar 22, 2026

In description.md, you are using zero-width spaces, usually but not always after a *starred*[ZWS] group. (I see these spaces in Notepad++. ) This should not be needed in the MD and it creates problems for line wrapping. Do you have a real reason for them, or else please remove them.

@gzotti
Copy link
Copy Markdown
Member

gzotti commented Mar 22, 2026

Also, I see warning messages concerning constellations "Wadan (The Celestial Altar)" and "Star of Wisdom".

@alex-w
Copy link
Copy Markdown
Member

alex-w commented Mar 25, 2026

@gzotti @10110111 @sushoff is this PR OK for you now?

@gzotti
Copy link
Copy Markdown
Member

gzotti commented Mar 25, 2026

I have not tested it since my last comments. Are the warnings gone?

@alex-w
Copy link
Copy Markdown
Member

alex-w commented Mar 26, 2026

I have not tested it since my last comments. Are the warnings gone?

I see in the log:

[   157.304][DBG ] convertMarkdownLevel2Section: cons not found:  "Star of Wisdom"
[   157.309][INFO] Loaded 312 / 312 asterism records successfully for culture chinese_manchu
[   157.311][DBG ] convertMarkdownLevel2Section: cons not found:  "Star of Wisdom"

@Guanjin0562
Copy link
Copy Markdown
Contributor Author

The warning message is:

[DBG ] convertMarkdownLevel2Section: cons not found: "Star of Wisdom"

Sorry my previous reply was incomplete. The constellation "Star of Wisdom" is documented in the ## Constellations section of description.md, but it is not included in index.json because its position is historically disputed. I only intended to describe it in the description text.
As far as I know, this warning should not affect the program's execution. Could you confirm if any other functionality I’m unaware of would be impacted by this?

By the way, the issue with the Wadan constellation has been resolved, with no warnings

@10110111
Copy link
Copy Markdown
Contributor

Could you confirm if any other functionality I’m unaware of would be impacted by this?

The entries in the description are like values in a key-value structure, where the keys are the entries in the JSON. If you try to look for a description of this constellation in e.g. the narration feature, it will not be available due to its nonexistence in the JSON file.

If at some point Stellarium's UI starts behaving more like that of Stellarium Mobile, which hides all the constellation descriptions in the text and only shows them in the info panel of the selected constellation, this description of a non-existing constellation will never be shown.

@gzotti
Copy link
Copy Markdown
Member

gzotti commented Mar 26, 2026

I think the description of a constellation that cannot be localized should go into the overall ## Description section. Section ## Constellations should list concrete visible items.

@10110111 about constellation selection: this is currently still not really intuitive, admittedly. Constellation selection currently goes only via F3 panel. Not sure if any Ctrl+Alt+Click (or whatever) on a star should select the constellation instead?

For users with more than one screen, I wonder if we could make the view dialog configurable so that it could be shown on a second screen, and users could read the text without covering the screen. (Of course the RemoteControl webbrowser UI can be used now.)

@10110111
Copy link
Copy Markdown
Contributor

For users with more than one screen, I wonder if we could make the view dialog configurable so that it could be shown on a second screen, and users could read the text without covering the screen.

And we are back to the discussion in #4731?..

@gzotti
Copy link
Copy Markdown
Member

gzotti commented Mar 26, 2026

It may be less. We have already created a StelDialog for the OnlineQueries (also used by the SCM) which IIRC just has a separate window. It might be possible to extend the StelDialogs generally to use either in-Mainview or separate windows.

@alex-w alex-w merged commit 66c5c77 into Stellarium:master Mar 27, 2026
16 checks passed
@github-project-automation github-project-automation Bot moved this from Backlog to Done in Skycultures 2.0 Mar 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

data Missing/bad/outdated data, but no code error subsystem: skycultures The issue is related to skycultures of planetarium...

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

5 participants