Go to Page... |
Thread Tools | Display Modes |
12/21/23, 05:47 PM | #1 | |||
Upcoming changes to font rendering in Update 41
I figured since no English thread about the topic existed yet, I'd make one to collect all the info we know so far.
In Update 41 all font rendering will be switched to a new system, which means any addons that contains custom fonts will need to convert them to a new format. The Demo section on https://sluglibrary.com/ provides a demo program as well as some instructions on how to convert .ttf and .otf files into .slug files in order to test them.
From the PTS Patch Notes:
Last edited by sirinsidiator : 01/29/24 at 01:58 PM. |
||||
12/23/23, 05:00 AM | #2 |
I don't use custom fonts personally, but I do have a few addons that use explicit font paths, so the feature of "they said ttf, let's see if we can find something of the same name but .slug instead" would be useful I think. That being said, I could just correct the paths in my code
|
|
01/29/24, 04:40 PM | #3 |
|
batch convert fonts
If the tool is the same as the one from the demo, you can use this in a .bat to convert all .ttf & .otf files in the folder as the slugfont.exe
Code:
@echo off for %%i in (*.ttf, *.otf) do ( .\slugfont.exe "%%i" -o "%%~ni.slug" ) |
01/29/24, 10:13 PM | #4 |
Process all mod folders
Code:
@echo off setlocal enabledelayedexpansion echo Processing fonts... for /d /r %%F in (*) do ( set "parentFolder=%%F" set "parentFolder=!parentFolder:%CD%\=!" echo Searching in folder: "!parentFolder!" for %%i in ("%%F\*.ttf" "%%F\*.otf") do ( .\slugfont.exe "%%i" -o "%%~dpi%%~ni.slug" if %errorlevel% neq 0 echo Error processing file: "%%i" ) ) echo Processing complete. Last edited by Sharlikran : 01/31/24 at 08:51 PM. |
|
01/30/24, 02:51 AM | #5 | |
Info for Update 41- Fonts "Slug"
|
||
01/30/24, 03:02 AM | #6 |
Here are the fonts I converted to slug for the minimap.
Last edited by Masteroshi430 : 01/30/24 at 03:04 AM. |
|
01/30/24, 02:20 PM | #7 | |
I've put the bat file and the exe to live/AddOns/pChat and it somehow did not work
Thanks Sharlikran but it does not find the *.ttf and *.otf files in pChat/fonts/ e.g. /Arvo/Arvo-Regular.ttf? The bat file runs, the command line opens, it writes Processing fonts... and then for each folder found 1 line with Searching in folder: "!parentFolder!" And then nothing, no return code/error code nor any error message nor skipped message. At the end it writes the line Processing complete. Check %LogFile% for details. but there is no log file. Maybe an Antivirus/Windows protection issue. Edit: Find attached the pChat slug files Last edited by Baertram : 01/31/24 at 03:11 AM. |
||
01/31/24, 08:43 PM | #8 |
Process one single mod folder
Code:
@echo off setlocal enabledelayedexpansion rem Store the starting directory in a variable set "StartingDirectory=%CD%" echo Processing fonts... rem Use the starting directory in the loop for /d /r %%F in (*) do ( set "parentFolder=%%F" set "parentFolder=!parentFolder:%StartingDirectory%\=!" echo Searching in folder: "!parentFolder!" for %%i in ("%%F\*.ttf" "%%F\*.otf") do ( .\slugfont.exe "%%i" -o "%%~dpi%%~ni.slug" if %errorlevel% neq 0 echo Error processing file: "%%i" ) ) echo Processing complete. Last edited by Sharlikran : 02/01/24 at 03:18 PM. |
|
02/01/24, 02:31 AM | #9 |
I realised many addons use straight file path to use game fonts, to ensure compatibility with update 41 and future font updates, we must use ZOS' "$(MEDIUM_FONT)" type path.
Here is a little helper, if you used straight file path .ttf or .otf / change it to : Code:
EsoUI/Common/Fonts/Univers57 EsoUI/Common/Fonts/Univers57Cyrillic-Condensed EsoUI/Common/Fonts/ESO_FWNTLGUDC70-DB EsoUI/Common/Fonts/MYingHeiPRC-W5 / "$(MEDIUM_FONT)" EsoUI/Common/Fonts/Univers67 EsoUI/Common/Fonts/MYingHeiPRC-W5 EsoUI/Common/Fonts/Univers67Cyrillic-CondensedBold EsoUI/Common/Fonts/ESO_FWNTLGUDC70-DB / "$(BOLD_FONT)" EsoUI/Common/Fonts/Univers57 EsoUI/Common/Fonts/MYingHeiPRC-W5 EsoUI/Common/Fonts/Univers57Cyrillic-Condensed EsoUI/Common/Fonts/ESO_FWUDC_70-M / "$(CHAT_FONT)" EsoUI/Common/Fonts/FTN47 EsoUI/Common/Fonts/MYingHeiPRC-W5 EsoUI/Common/Fonts/ESO_FWNTLGUDC70-DB / "$(GAMEPAD_LIGHT_FONT)" EsoUI/Common/Fonts/FTN57 EsoUI/Common/Fonts/MYingHeiPRC-W5 EsoUI/Common/Fonts/ESO_FWNTLGUDC70-DB / "$(GAMEPAD_MEDIUM_FONT)" EsoUI/Common/Fonts/FTN87 EsoUI/Common/Fonts/MYingHeiPRC-W5 EsoUI/Common/Fonts/ESO_FWNTLGUDC70-DB / "$(GAMEPAD_BOLD_FONT)" EsoUI/Common/Fonts/ProseAntiquePSMT EsoUI/Common/Fonts/MYoyoPRC-Medium EsoUI/Common/Fonts/ESO_KafuPenji-M / "$(ANTIQUE_FONT)" EsoUI/Common/Fonts/Handwritten_Bold EsoUI/Common/Fonts/MYoyoPRC-Medium EsoUI/Common/Fonts/ESO_KafuPenji-M / "$(HANDWRITTEN_FONT)" EsoUI/Common/Fonts/TrajanPro-Regular EsoUI/Common/Fonts/ESO_KafuPenji-M EsoUI/Common/Fonts/MYoyoPRC-Medium / "$(STONE_TABLET_FONT)" Last edited by Masteroshi430 : 02/01/24 at 02:35 AM. |
|
03/12/24, 08:41 AM | #10 |
Chinese fonts
After converting Chinese fonts into slug format, the font file will become several times its original size. The size of the Chinese font library will become several hundred MB. Will this affect game performance?
|
|
03/12/24, 08:51 AM | #11 |
I guess loading big files will always be a thing.
pChat font files size was doubled for each slug file. About slugfont.exe params Did you use -no-compress explicitly so compression of font files was off? Else they should get compressed by default, but yeah the size is bigger than otf/ttf files before. https://sluglibrary.com/SlugManual.pdf Chapter 7 Font conversion |
|
03/12/24, 11:05 AM | #12 |
Not sure how much, but loading large files is bound to have some performance impact.
I also noticed the following comment in defaultfontstrings_simplifiedchinese.xml: Code:
<!-- Split out from GAMEPAD_MEDIUM_FONT so we don't have to generate outlines for large CJK fonts. This currently saves about 100 MB of memory, but is only useful as long as we only use outlines with latin characters (usually numbers). --> <String name="GAMEPAD_MEDIUM_FONT_LATIN" value="EsoUI/Common/Fonts/FTN57.slug" /> |
|
03/13/24, 06:37 AM | #13 | ||
|
|||
04/16/24, 10:12 PM | #14 | |
|
||
04/17/24, 10:25 AM | #15 |
@Verling
I looked at your Links to Ru Fonts mod and other mods to see which language you are using. Are you having issues with only Cyrillic Glyphs or fonts?
I noticed you had mentioned in the past that some mods don't seem to add support for what you refer to as national fonts. You noted that Master Merchant seemed to provide options to display national fonts as one example. I don't think what I am about to describe applies to every mod but I also need to stress that ZOS already has fallback options for the internal slug files for the game. Here is what ZOS uses for the definitions. Xml Code:
That defines what an author would use when adding a new font. Xml Code:
So that's how the font is added for Master Merchant. When a font does not have Cyrillic glyphs if you chose that then you would see boxes [] which is sometimes refereed to as Tofu where the Cyrillic glyph should be. Tofu is the name of the box [] symbol. Xml Code:
When you define the BackupFont then the game knows how to find the Glyphs that the font doesn't support. If nothing is specified then you will see Tofu []. Master Merchant may seem like there is support for national fonts as you put it but there isn't anything that MM is doing that isn't already part of the ZOS code. The added fonts may not even have support for certain languages which is why ZOS added the BackupFont to begin with. You might select some of the fonts provided by MM and the font in the MM UI may look exactly the same. That is because the ZOS code uses the BackupFont because the Cyrillic Glyphs are missing. Which would default to something like Univers67Cyrillic-CondensedBold.slug for example. Looking at the code for Links to Ru Fonts you are searching for all the instances of Zo in the name of the font and then if your conditions are met you set the font to univers57cyrillic-condensed.slug for example. I don't do that with Master Merchant. When you do that and when the fonts don't contain the Cyrillic Glyphs the BackupFont specified by ZOS is already being used. What you are doing may help and you might be able to provide a few instances where fonts are not displayed properly unless you have your mod active but without any mods installed all fonts are displayed using the BackupFont specified by ZOS when the Glyph doesn't exist. Another thing I'd like to mention: Xml Code:
If you are really having that many issues that you feel like you need to "search and autocorrect the entire catalog of addons in the entire catalog code" then I would look at the mods you have installed. Maybe you simply need to uninstall some older mods that don't have recent updates to work correctly with the current code for the game. Doing that may make other mods that have recent updates function more to your expectations. |
|
04/18/24, 04:02 AM | #16 | |
I found out all these points in fonts in the first week after the release of 41 updates. Thank you for your detailed and complete description of them. If only I had problems. I would make corrections to the directories on my computers. But many of my friends, guilds and all those who use the Russian interface have problems. The problems are not only in the display of symbols in addons, but also in the non-functioning of game actions and part of the interface. With addons disabled. 1 By holding Shift we send the name to the chat window. We get empty. 2 Letters from artisans and trade arrive without text. 3 The link to the guild and houses blocks the output of the entire block of text. Links to Ru Fonts uses a hard reference to specific fonts in the client. I used DataExtractor to look at client resources and font lists. And you’re right, it’s not possible to replace it everywhere. Are there addons which rigidly specify the design and the variables do not work. For example, for Combat Metronome (AddOns\CombatMetronome\DariansUtilities\utility>Text.lua) it is not possible to specify a variable; it takes only direct Code:
family = family or "esoui/common/fonts/univers57cyrillic-condensed.slug" CraftStoreFixedAndImproved - no list of ingredients in the supply. CombatMetronome - skill [][][][][] ArkadiusTradeTools - in the [] menu and empty product names. CombatMetrics - no armor or weapon names |
||
04/18/24, 07:59 AM | #17 |
I work with balgamov and I did correct some of the issues but initially he changed Turkish letters like ğşı with gsi which I recommend he not do in the future because that's not how you resolve the situation.
Most likely Turkish players have similar issues where it is the Addon and not the main interface itself. As for your issues where you have missing text without addons, please do the following. Disable your addons that way so you don't need to remember which addons you had active. Then get screenshots of the issues you reported like holding shift and sending a name to chat with exact steps. As well as the mail with missing text from artisans and trade. Lastly how you reproduce guild and houses that blocks the text, with exact steps. ZoSDanBatson is very collaborative and Russian is an official language so that can be addressed if it can be reproduced. As far as all mods working correctly that's up to the authors to correct. Last edited by Sharlikran : 04/18/24 at 09:57 AM. |
|
04/20/24, 02:05 PM | #18 |
@Verling
https://github.com/Rhyono/CraftStore/issues/47
I was going to update the fonts after you mentioned there was an issue with CraftStore. However, I have been able to look into it a bit and there is no font issue at all. It simply does not display the ingredients for Russian. I have been able to display the ingredients for several other languages including Korean. Last edited by Sharlikran : 04/22/24 at 08:50 AM. |
|
ESOUI » Developer Discussions » General Authoring Discussion » Upcoming changes to font rendering in Update 41 |
«
Previous Thread
|
Next Thread
»
|
Display Modes |
Linear Mode |
Switch to Hybrid Mode |
Switch to Threaded Mode |
|
|