Have you ever run into a bunch of strange, tall rectangles in Second Life? Maybe in someone’s display name? Maybe in a group tag? Maybe even in a scripted menu? Did you know they aren’t actually supposed to look like that?! When you see that tall rectangle, it means your viewer is unable to display that character and so you have no idea what it really looks like. Below is an example screenshot showing how my group tag appears when your viewer doesn’t support the inverted pentagram character (left), and how it’s supposed to look (right):
So why do people use characters that are broken like this? Because there isn’t any consistency between which characters are supported and which aren’t for different people. Depending on your viewer, the version of your viewer, or your operating system (Window/macOS/Linux) you may or may not be able to see a particular character. Even if you don’t want to use a particular character yourself, other people could, and then you can’t read their stuff properly! It’s a real mess! 😵💫
Adding to the problem is a recent change starting in version 7.1.10 of Firestorm Viewer. Before 7.1.10, a whole pile of extra characters were supported, but only on Windows. Because of the dominance of the Windows version of Firestorm on the grid, lots of people have been depending on these characters for all sorts of things. Starting with 7.1.10, the Firestorm team has completely removed support for these extra characters, even on Windows! So now all of a sudden all that existing content can’t be seen properly anymore! Worse, the only people that can see this change are the people who’ve updated to the latest version. Until everyone has done that, people on older versions will have no idea these characters can’t be read anymore and will keep relying on them as before!
On the flipside, maybe you are still on Firestorm 6.6.17 because your computer can’t handle PBR. Not only was 6.6.17 the last non-PBR Firestorm, it was also the last version of Firestorm without official support for emoji! No matter how you feel about emoji, people are using them now, and so not being able to see them is a big problem! The Windows version of 6.6.17 can at least see emoji characters as simple monochrome symbols, but the macOS/Linux versions can’t even do that, and they just show up as broken rectangles!
Enter Luna’s Second Life Font Fix! My font fix is a very simple modification to the font XML files for most viewers that enables a huge library of characters. Specifically, it supports all of the 55,526 characters in Plane 0 of the Unicode specification, and all but 6,090 of the 31,490 characters in Plane 1. Aramaic? Canadian Aboriginal letters? Ancient Runes? Egyptian Hieroglyphics? Chess pieces? My fix has you covered. You’ll be given superpowers to see what others can’t and it’s almost certain you’ll never encounter one of those tall, empty rectangles again! 😎
Download the Fix
My fix is a single compressed archive (ZIP file) that should be compatible with most viewers. Please see the next section to learn how to use it and install the font fix.
>> Click Here to Download Luna’s Second Life Font Fix (version 8)! <<
The current version of the fix (v8) has been tested and found to be compatible with the following viewers:
- Alchemy Beta v7.1.9
- Black Dragon v5.1.3
- Catznip vR13.2
- Firestorm Viewer v7.1.11
- Firestorm Viewer v6.6.17
- Genesis v1.9.1032
- Kokua v7.1.10
- Second Life Viewer v7.1.10
- Singularity v1.8.9
The fix has been found to be incompatible with the following viewers:
- Megapahit v7.1.10 (Crashes when logging in)
Testing all these different viewers can be difficult. If you use a particular viewer and you find the fix works or doesn’t work, please let me know!
Installing the Fix
Note: Before installing the fix on macOS on a brand new copy of a viewer, be sure you have run the viewer at least once. Please see the macOS and Gatekeeper section later on this page for important information for macOS users!
What you need to do is get the contents of the archive into your viewer’s program folder. Here are detailed instructions on how to do that:
On Windows:
- Open the archive and you will see three items: a folder called fonts, a folder called skins, and a single file called fonts.xml.
- Select both folders, right-click on them, and select to copy them (you can ignore the loose fonts.xml)
- Navigate to your viewer installation folder. For example, Firestorm Viewer is installed to C:\Program Files\Firestorm-Releasex64\ by default. It will be something similar for other viewers.
- Right-click on an empty space inside this folder and select to Paste.
- If you did it right, you’ll be asked if you want to replace things. Choose yes on any such prompts.
On macOS:
- Make sure you have started the viewer you want to apply the fix to at least once without it. You don’t have to log in – you just have to start it up until you can see the login prompt and then close it again.
- Double-click on the archive to extract it. A folder called Luna's Second Life Font Fix v8 will be created (if you downloaded it through Safari, this step will already have been done for you).
- Enter the folder and you’ll see a folder called fonts inside. Enter that.
- You’ll see a whole pile of files inside the fonts folder. Select all of them (careful not to miss any!) and go to Edit > Copy on the menu bar.
- Secondary-click/Right-click on the icon for your viewer as it appears in your Applications folder. Select “Show Package Contents”. This will take you inside the files for the program.
- Inside the program, navigate to the Contents/Resources/fonts folder. Go to Edit > Paste on the menu bar.
- If you did it right, you’ll be asked to replace things. Select yes on all such prompts.
- If you are applying this to Firestorm, you are done. For any other viewer, you also have to do the following:
- Go back into the Luna's Second Life Font Fix v8 folder.
- Select fonts.xml and go to Edit > Copy on the menu bar.
- Secondary-click/Right-click on the icon for your viewer as it appears in your Applications folder. Select “Show Package Contents”. This will take you inside the files for the program as before.
- Navigate to Contents/Resources/skins/default/xui/en/.
- Go to Edit > Paste on the menu bar. Agree to replace the fonts.xml file already in the folder when prompted.
On Linux:
- Copy the contents of the compressed archive into the program folder for your viewer, however you accomplish that in your unique Linux configuration. You don’t need to copy the loose fonts.xml.
Note that you don’t need to close down the viewer while you do all this. You can leave it running and then you’ll just have to restart it for the changes to take effect. That’s handy to know if someone in SL is walking you through installing it!
The Microsoft “Segui Symbol” Font (Purely Optional!)
The extra characters that used to be supported by Firestorm before 7.1.10, and which are still supported in many other viewers, are typically displayed using the Windows-only “Segui Symbol” font. My font fix uses free alternatives that mean it can display all these characters without relying on this font. Without Segui Symbol though, they are naturally going to look a bit different from what people are used to.
If you are on Windows, my fix will automatically make use of the Segui Symbol font for the characters it supports. You don’t need to do anything!
If you are on macOS/Linux, my font fix can make use of the Segui Symbol font too, but you need a copy of it. If you have a Windows computer, do a search of the C:\Windows\ directory for the file seguisym.ttf (any copy you find should work). Take that file and paste it into the fonts folder on your macOS or Linux viewer. Restart the viewer for the change to take effect, and these characters should take on their familiar Windows appearance! If you don’t have your own copy of Windows, you can ask a Windows-using friend to get you a copy of this file. Realize though that because Microsoft doesn’t approve the use of their font on anything but Windows computers, that this is technically an act of software piracy. That’s why I don’t just include the file in my fix!
Uninstalling the Fix
While you can back up the affected files/folders ahead of time, it’s probably easier to just reinstall the viewer if you want to get rid of the fix. On Windows, installing a fresh copy of your viewer over top of the existing one should be enough to completely nullify the effects of the fix. If you want to be extra neat and tidy and remove any extra files created by the fix, you will need to first uninstall the viewer and then reinstall it.
On macOS, you can just drag a fresh copy of your viewer into your Applications folder and this will eliminate all traces of the fix.
Manual Installation
Advanced Users Only: All my font fix does is add a few lines to the normal XML files used by viewers, along with supplying a copy of the fonts these lines reference. If you’re an advanced user and you prefer to do things yourself, you can just do this manually rather than rely on pasting files from the compressed archive.
First enter the install folder for your viewer and then the fonts subfolder. If you see a fonts.xml file in there, that’s what you want to edit. If you don’t, you want to instead go to skins/default/en/ and you’ll find the fonts.xml file there. Alternatively, if you don’t use the default font scheme for your viewer, edit the corresponding XML file in your fonts folder.
Just before the first </font> in the file, you want to paste the following lines:
<!-- Luna's Second Life Font Fix: Main -->
<file>seguisym.ttf</file>
<file>NotoSansLiving-Regular.ttf</file>
<file>NotoSansHistorical-Regular.ttf</file>
<file>NotoSerifTibetan-Regular.ttf</file>
<file>NotoSansTC-Regular.ttf</file>
<file>NotoSansSC-Regular.ttf</file>
<file>NotoSansKR-Regular.ttf</file>
<file>NotoMusic-Regular.ttf</file>
<file>unifont-15.1.05.ttf</file>
<!-- / Luna's Second Life Font Fix: Main -->
The seguisym.ttf file is loaded first, giving it higher priority. If you have the Segui Symbol Font (you do automatically on Windows), then it will be used for any characters it can display because of the priority. Only characters it can’t display will be displayed with the other fonts lower down in the list. If you don’t have the Segui Symbol font, then this line just won’t do anything, leaving the responsibility of displaying those characters to the other fonts in the list.
The different Noto fonts are based on what I learned from my research. Noto Sans Living (for modern characters) and Noto Sans Historical (for dead language characters like Egyptian hieroglyphics) are theoretically supposed to be a merge of the complete Noto font project, but they don’t actually include a lot of things, particularly Asian characters. So I load the Noto fonts for those characters separately.
The Unifont Font at the end is last priority because it looks quite dated, but it has complete support for the entire Plane 0 of the unicode specification. If it’s the only font that can display a character, it’s still better than a rectangular box, so that’s why I included it. Giving it the lowest priority means your viewer will only use it if it’s the only way to display a character.
If you are on a viewer that doesn’t normally support emoji (such as Firestorm 6.6.17 on macOS/Linux), you will also want to add the line <file>NotoEmoji-Regular.ttf</file> so you can have emoji support!
Next, you’ll need to download all the referred fonts. You can pull them out of my supplied archive or manually download them yourself from Google Fonts. Enjoy!
macOS and Gatekeeper
Apple’s macOS has extremely stringent security practices that unfortunately conflict with my fix! When you first run a program, macOS checks to see if the digital signature matches the contents of the program exactly. Installing my fix means that the contents will no longer match, and so this check will fail. When you try to start your viewer, you’ll instead see a message like the one below:
To avoid this, make sure you have run your viewer at least once before applying the fix. I don’t believe the check will run again after the first launch of the program, so you should be fine after that. I can say that I’ve been using my own fix on macOS for some time now without issues.
If the Gatekeeper check does run again in the future, please let me know! In this case, you will need to drag a new copy of your viewer into your Applications folder, run it at least once, and apply the font fix again. There is nothing I can do about this.
Credits
Thank you to Vognod Maximus, Kizzle Haiku, Frankk Parisi, Serena Swan, and Antisane for helping me test the font fix! You were very helpful!
Thanks also to Logan Elf for showing how to edit these XML files in the first place and where to find free fonts to use!
And I shouldn’t forget to also thank the Noto Font team for supplying those free fonts that I could legally include in this project!
Closing Thoughts
Some of the people who initially tried to install this got confused, copying the files into the wrong folder. Be careful! If you have any trouble, don’t be afraid to contact me for help!
Realize that this fix doesn’t make what you type with these characters visible to other people who don’t have the fix. So don’t rely on other people’s ability to see these extra characters if you use them in your own content. When doing things such as changing your display name or setting up a script to display text, you might want to temporarily log in with a copy of the official SL Viewer without my fix to make sure everything is visible for other people that needs to be. SL Viewer is a great test viewer for that because it should be the lowest common denominator for visible characters in viewers! If you want to use these characters one-on-one with a friend, maybe you can have them download my font fix too and then you can both see them together!
I hope you enjoy!