Skip to content

Conversation

@youlaafifah
Copy link

Description

Adds a new indigenous sky culture from Indonesia, Southeast Asia, Balinese Sky Culture, to Stellarium. This is an original, fully invented ethno-astronomical tradition to expand Stellarium's collection of global sky cultures.

Stellarium is an open source and letting any researchers to make a contribution. Since there is no Indonesian sky culture inside the database, I am willing to add one of many Indonesian sky culture. Stellarium is a great space for preserving the indigenous sky culture. Letting this sky culture to have a space in here, will help my country to prevent their sky culture extinction.

This is a standalone sky culture directory with no external dependencies.

Fixes # (issue)

  1. Creating constellation lines for Balinese constellations
  2. Anchoring the artwork for each constellation
  3. Providing the description of the sky culture

Screenshots (if appropriate):

stellarium-20251101-122000339

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?

I have added the "Bali" folder inside the "skyculture" directory/folder inside my laptop. When I am opening the Stellarium, all of the Balinese sky culture definitions are working.

In making the definition, I was creating the stickfigure and everything with SCM (Sky Culture Maker; since I have a poster and presented it on IAUS 399). I used GIMP for the image processing, like creating transparent layer. Then I put all together and test them in Stellarium v 25.2

All is working, but only the native name is not. They are displaying blocks and seems can not read the text. I put the native names with Balinese text (aksara Bali). It is working inside the editor text, but not in Stellarium display.

Test Configuration:

  • Operating system: <Windows 11, Version 24H2 (OS Build 26100.6584)>
  • Graphics Card: <Intel(R) UHD Graphics Family - driver 30.0.100.9864>

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

@gzotti
Copy link
Member

gzotti commented Nov 1, 2025

Unfortunately, the trick that we previously applied for Cuniform, QFontDatabase::addApplicationFallbackFontFamily(QChar::Script_Balinese, "Noto Serif Balinese");, has no effect on the Balinese writing system.

I was mistaken, my attempt didn't take effect because it was under Windows #ifdef. The method doesn't exist on Qt 6.5.3.

To show the Balinese characters on Ubuntu 20.04 and Qt 6.5.3 I configured Noto Serif Balinese font in the Config dialog

On Ubuntu 25.04 with Qt 6.8.3 Balinese letters work out of the box, without any font-size issues. Maybe with latest Qt the fallback fix could be usable on Windows.

Good to read this. I am mentally elsewhere and don't want to switch branches now. Qt6.8 is current LTS (6.10 is out, and 6.11 will likely be next LTS), and I hope the CI provides it. Presumably most users in this field are on Windows, and a lot has changed between 6.5 and 6.8, so this seems relevant. If older linux distros don't have it, something has to remain behind, unfortunately.

Removed 'Fair Use' section and updated author credits.
@10110111
Copy link
Contributor

10110111 commented Nov 2, 2025

On Ubuntu 25.04 with Qt 6.8.3 Balinese letters work out of the box, without any font-size issues. Maybe with latest Qt the fallback fix could be usable on Windows.

Interestingly, on Ubuntu 20.04 with Qt 6.9.3 the hack is required:

diff --git a/src/main.cpp b/src/main.cpp
index e184ab3dcf..0bc0db4bd8 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -434,6 +434,7 @@ int main(int argc, char **argv)
 #ifdef Q_OS_WIN
     QFontDatabase::addApplicationFallbackFontFamily(QChar::Script_Cuneiform, "Segoe UI Historic");
 #endif
+    QFontDatabase::addApplicationFallbackFontFamily(QChar::Script_Balinese, "Noto Serif Balinese");
 #endif
 
     // Set the default application font and font size.

@sushoff
Copy link
Contributor

sushoff commented Nov 3, 2025

Unfortunately, the trick that we previously applied for Cuniform, QFontDatabase::addApplicationFallbackFontFamily(QChar::Script_Balinese, "Noto Serif Balinese");, has no effect on the Balinese writing system.

I was mistaken, my attempt didn't take effect because it was under Windows #ifdef. The method doesn't exist on Qt 6.5.3.

To show the Balinese characters on Ubuntu 20.04 and Qt 6.5.3 I configured Noto Serif Balinese font in the Config dialog

On Ubuntu 25.04 with Qt 6.8.3 Balinese letters work out of the box, without any font-size issues. Maybe with latest Qt the fallback fix could be usable on Windows.

@sushoff sushoff closed this Nov 3, 2025
@github-project-automation github-project-automation bot moved this from In review to Done in Skycultures 2.0 Nov 3, 2025
@sushoff sushoff reopened this Nov 3, 2025
@github-actions github-actions bot requested review from 10110111 and gzotti November 3, 2025 10:27
@alex-w
Copy link
Member

alex-w commented Nov 8, 2025

@youlaafifah @sushoff is it ready to review after fixes?

@alex-w
Copy link
Member

alex-w commented Nov 8, 2025

Hmm... I see troubles in table - one column missing?

Removed 'Original Balinese' column from the table.
@alex-w alex-w self-requested a review November 14, 2025 07:22
Copy link
Member

@alex-w alex-w left a comment

Choose a reason for hiding this comment

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

It's OK for me now

@10110111
Copy link
Contributor

10110111 commented Nov 14, 2025

  • The IPA transcriptions should be phonetic rather than phonemic, if we want to eventually get an IPA-to-speech engine read this precisely.
  • The table of constellations is far from the ideal way to describe constellations in the new SC format. The ideal is the ## Constellations section with all its rules.

### Sky

## Description
This sky culture has one small lintang system called "Kartika". Please zoom into the Pleiades to see it clearly.
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't think "please" is suitable for an educational text. The text is not supposed to ask the reader to do anything, it just informs. If you're afraid of "impolite" imperative, you can rephrase it like "You can see it clearly if you zoom into the Pleiades".

Copy link
Author

Choose a reason for hiding this comment

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

Thank you.


##### Kala Sungsang
Kala Sungsang is an upside-down demon. Sungsang itself is inverted. Kala also means time. So the duty of this demon is to remind people who forget or even neglect the time.
<img width="255" src="illustrations/descr_pics/Ra_U.jpg"/>
Copy link
Contributor

Choose a reason for hiding this comment

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

There should be some separation between the section body and the image, otherwise I get this:
Screenshot_2025-11-15_19-19-59

Copy link
Author

Choose a reason for hiding this comment

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

yes

@10110111
Copy link
Contributor

The constellation names in the description must use the english names, not pronounce. This is how they are matched with the ones in index.json. Currently util/skycultures/generate-pot.py -s balinese emits lots of warnings about this and fails to generate the proper translation templates.

@10110111
Copy link
Contributor

Also, I've just added a validator for the References section to generate-pot.py, and it found that the format is wrong: a space is missing after the hyphen (and before it too). So e.g. the first reference should start like

 - [#1]: Maaß, Alfred, “Astrologische Kalender<...>

@10110111
Copy link
Contributor

10110111 commented Nov 16, 2025

One more thing: section headers should have a blank line before and after (except for the very first level-1 section, of course), see Markdown Guide/Heading Best Practices.

@10110111
Copy link
Contributor

10110111 commented Nov 16, 2025

To validate the SC without me having to repeatedly say what's wrong, you can do the following (commands for bash):

REMOTE=upstream # replace "upstream" with whatever your remote for upstream Stellarium is called
git fetch $REMOTE
git checkout $REMOTE/master -- util/skycultures/generate-pot.py

Make sure that git diff --staged shows changes like +def checkDescriptionSectionHeaders and +def checkReferences that I added in master since the creation of your PR.
Then you can run

util/skycultures/generate-pot.py -s balinese

This will emit some warnings about issues that should be fixed (if any remain). It will also generate a po directory in the SC directory, but they aren't supposed to be committed, you can remove it.

To undo the changes to the script (so that you could commit your own changes), you can do this:

git reset -- util/skycultures/generate-pot.py
git checkout -- util/skycultures/generate-pot.py

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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