I have had a hard time finding the right place to put font files and where to configure them in order to change the fonts on my Gameshell. I am currently using the most recent DEOT build, but using the legacy skin. I could not find a thread dedicated to this topic, so I apologize if this info is already out there.
If you have changed the fonts for the main menu, how did you do it and what files/directories did you have to change? How does this change when you create or edit a skin?
Okay that is good to know. I did find these files and the skin manager file that references them in my search. However, when I added my own font, I did not change its name to match. I, instead, tried to change the names in the skin manager file code. That ended up causing the GUI for the launcher to get stuck on reloading.
Also, I believe that the main font you would need to change is the Varela font, because in the code this file had the most references and size variations. Still don’t know where all the rest appear, but for anyone trying to change the launcher I would start with Varela.
I have done some digging, and from my limited python experience, I have found the source for the names of the fonts is in the skin_manager.py file in the launcher’s sys.py folder. I will struggle to try to explain how exactly this file works, but in an ideal situation I would change the SetFonts() function in this file to accept and parse a config file, like in the SetColors() function. This way you could keep track of the fonts you are using, and keep their names in the truetype folder. However, they would still be referenced around the user interface by their variable names like “varela%i” % fontweight.
Example of the color config.ini file parser in skin_manager.py:
self._Config = CaseConfigParser()
fname = config.SKIN+"/config.ini"
try:
self._Config.read(fname)
except Exception, e:
print("read skin config.cfg error %s" % str(e))
return
else:
if "Colors" in self._Config.sections():
colour_opts = self._Config.options("Colors")
for i in SkinManager._Colors:
if i in colour_opts:
try:
SkinManager._Colors[i] = self.ConvertToRGB(
self._Config.get("Colors", i))
except Exception, e:
print("error in ConvertToRGB %s" % str(e))
continue
When I tried to change it, and add a section to the config file, my launcher stopped loading and I had to reverse it. I will keep trying to adapt it, but I have very limited python knowledge.
I figured it out. No doubt it is messy code, but I have a new skin_manager.py code that checks for a Font_Path section in the config.ini file for every skin. Then it will take the font names in that file and find the path to them in the truetype folder. These paths are given variable names that match the original fonts in the launcher truetype folder.
How should I upload my code so that others can access it? I am unfamiliar with how to properly fork or contribute to a github repository.
in github fork the clockwork repo using the “fork” button
git clone it locally to your computer
git clone your repo url
make your modifications, and made a commit about it
git commit -m “commit name reflecting your modification”
push your commit onto your fork
git push
back into github, into your repo and commit, search about a “pull request” button,
it will create a ticket about merging your commit into the main repo, with a discussion thread and all the needed test and tools