Jump to content
  • The Weighting of Fonts


    TriggerAu

    Preamble (or pre-ramble if you know me)

    After some discussions we thought we’d make use of the Dev Articles section of the forum and post some experiences, stories and information about various development topics. Hopefully this is the first of a number of posts by members of the development team, detailing both old and new topics to do with KSP and our work.

    These will not be scheduled in like regular forum posts. Rather think of them like a blog, with multiple authors (the devs), who can share info when they are able.

    There’s a number of topics we have thought to talk on, but for this first one I thought I could type about something that Julioz and I have been spending a fair bit of time on - Localization and Fonts....

    Background

    Localization is the process by which a product can display text and audio in a language local to the consumer. While English is a very common language there are many people who do not speak it fluently and have asked/and appreciate the ability to more easily read, comprehend and in the end play KSP.

    As we would be needing a much larger range of characters and symbols to be able to handle many different languages we started by having a look at our current fonts and whether they would be up to the task. After some discussion amongst the team it was decided that we would be better served by moving to a different font by the name of NotoSans. This Open source font is similar to the OpenSans font we have been using in KSPedia, but has a much wider character set for Localization so it was decided this would be a  good choice.

    Getting it to “fit” KSP

    You just swap in the new font and all good right? Unfortunately it’s not that simple :( and that’s where Julio and I have spent a bit of time. We use a plugin called TextMesh Pro to place text in KSP. It’s very flexible and easy to use, so the actual swapping of fonts wouldn’t be too big a problem. The challenge that raised its head was when we looked at the size of the fonts and how we would “fit” things.

    Having a printing background in my other job I could tell you all about the Em Square and how that relates to point size, but in the interest of not boring you all to death I’ll give you the simple version: “Not all fonts are created equal.” The visible portion of a 14pt Calibri ‘A’ character is not necessarily the same height and width as a 14pt NotoSans ‘A’ character, and so on. Here’s some lovely ascii art that shows an extreme example:

    Eui7Mmo.png

    The new NotoSans font is wider and taller than our existing Calibri font, so after choosing that font we then need to scale it to suit the games UI - or alternately adjust the game objects to suit the new size. We decided to scale the font down slightly to get things close to the size you are all used to and then adjust the weighting of the font to make sure it wasn’t too thin or hard to read.

    Weighting it as well

    Speaking of weighting (which is in essence the width of each stroke in the character), as some of the languages we are doing contain graphical characters (sorry if that’s the incorrect term) like Kanji we have to work with the font settings a bit to make sure we don’t blow out the characters by overweighting the stroke, and on the flipside we don’t make the weight too narrow that the text disappears. Heres some examples of how not to do these types of fonts…

    KfNWJBT.png  KY5EiyF.png

    And my personal favorite: when I forgot to change all the font sets, this sorta changes the emphasis on some things.

    RYhKPF2.png

    So after a fair bit of back and forth to make sure all of our eyeballs are correctly calibrated we end up with something like this:

    tdUQUAt.png

    Job Done?

    Once we had that all tested, and given the green light, Julio and I could sit back and watch the rest of it all magically happen! Alright maybe not. 

    After that we work to ensure all the text (in all the character sets and languages) fits in the spaces of the KSP UI - this happens alongside the translation, checks of text translations, more tweaks, further checks,... and that is a whole other story. 

    Here endeth the first article.We’ll try and bring these to you periodically on various topics of things we are working on or that we find might be good to shed more light on.
     


    User Feedback

    Recommended Comments



    Always enjoy reading behind the scenes stuff, even on topics like fonts :wink:

    I do have a question though. I notice in the example that you left the Kerbal's name written in the Latin Alphabet, and was wondering why you left it that way?

    For me, if I were playing a game that was originally made in say, Russian, having names that are written with the Cyrillic alphabet would be very frustrating because I wouldn't know how to begin pronouncing those names (which also makes it unlikely that I can remember who anyone is).

    So I'm wondering if the names were left in 'English' because there is simply no good way to translate them into Japanese(?), especially where a lot of the names are 'made up' and will lack existing translations, or if the prevalence of English on the world stage means that even non speakers are a lot better at dealing with our alphabet than I am dealing with Cyrillic, or Kanji, or any other non Latin Alphabet. Maybe both.

    Edited by Randox
    Link to comment
    Share on other sites

    5 hours ago, Randox said:

    Always enjoy reading behind the scenes stuff, even on topics like fonts :wink:

    I do have a question though. I notice in the example that you left the Kerbal's name written in the Latin Alphabet, and was wondering why you left it that way?

    ...

    You mean fonts are not the most exciting thing you have ever heard of... I'm shocked!

    Is a good question on the name, and very observant :) , with a very simple answer. The name generation part has not yet been swapped in for the localized names in the UI components in that dialog. The idea is to make it as immersive as possible and where there are things that don't make sense the guys doing that work are interacting with the people (and the community) with local knowledge to get it sorted

    Link to comment
    Share on other sites

    Quote

    The visible portion of a 14pt Calibri ‘A’ character is not necessarily the same height and width as a 14pt NotoSans ‘A’ character

     

    Every students of this world understand that perfectly, especially when the length of the texts they have to write is specified in pages and not by the number of words written in it :P

    (and I hope I'm not the only one to use such a trick, otherwise it would mean I'm even more lazy than I think :wink: )

     

     

     

    Link to comment
    Share on other sites

    On 2/14/2017 at 4:04 PM, Randox said:

    Always enjoy reading behind the scenes stuff, even on topics like fonts :wink:

    I do have a question though. I notice in the example that you left the Kerbal's name written in the Latin Alphabet, and was wondering why you left it that way?

    For me, if I were playing a game that was originally made in say, Russian, having names that are written with the Cyrillic alphabet would be very frustrating because I wouldn't know how to begin pronouncing those names (which also makes it unlikely that I can remember who anyone is).

    So I'm wondering if the names were left in 'English' because there is simply no good way to translate them into Japanese(?), especially where a lot of the names are 'made up' and will lack existing translations, or if the prevalence of English on the world stage means that even non speakers are a lot better at dealing with our alphabet than I am dealing with Cyrillic, or Kanji, or any other non Latin Alphabet. Maybe both.

    Most non-English speakers can still read Latin alphabet. But the mix of two languages and two alphabets looks really bad style-wise.

    Link to comment
    Share on other sites

    On 2/14/2017 at 8:04 AM, Randox said:

    So I'm wondering if the names were left in 'English' because there is simply no good way to translate them into Japanese(?), especially where a lot of the names are 'made up' and will lack existing translations, or if the prevalence of English on the world stage means that even non speakers are a lot better at dealing with our alphabet than I am dealing with Cyrillic, or Kanji, or any other non Latin Alphabet. Maybe both.

    There is no good way to write western names in Japanese and Chinese. Trying with Japanese leads you to dumping vowels into your words left and right so it can be written as a chain of Japanese syllables. Chinese, however, is the real offender. There is no way to write a Western name in Chinese. All you can do is come up with a Chinese name, completely separate from the other one, and just use that.

    I think it's safe to say that non-English speakers will at least know the Latin alphabet, although it's a sub-optimal solution to the problem. Localization is complicated.

    Link to comment
    Share on other sites

    20 minutes ago, IncongruousGoat said:

    All you can do is come up with a Chinese name, completely separate from the other one, and just use that.

    That would work perfectly well for the game, though. 张伟 and 王芳 are not going to care that the characters they see don't mean "Gene" or "Linus."

    Link to comment
    Share on other sites

    2 hours ago, HebaruSan said:

    That would work perfectly well for the game, though. 张伟 and 王芳 are not going to care that the characters they see don't mean "Gene" or "Linus."

    Well, it'll make Gene & Wernher's names less amusing. Ah well; something is always lost in translation.

    Link to comment
    Share on other sites

    I love this style of dev article!  They are a ton of work to put together, but definitely worthwhile.

    You should probably cross-post to the daily Kerbal (and reddit?), I suspect most forum goers don't notice the articles on the sidebar.

    Link to comment
    Share on other sites

    28 minutes ago, IncongruousGoat said:

    Well, it'll make Gene & Wernher's names less amusing. Ah well; something is always lost in translation.

    Maybe the Chinese space program can supply appropriate substitutes.

    Link to comment
    Share on other sites

    Names are an interesting one for sure, and to me the mix of character sets looks weird. That said English is my only language (and at that its probably second to programming languages :wink: ) so I don't really have any experience/authority to draw on for where the use of Latin characters inis acceptable the mix is acceptable.

    With the staff and volunteers that are working on the translations things like this are being actively discussed, as well as things like the best word for "Snacks" and other "Names" in KSP Land.

    Super glad that people are liking the content and the style

     

    1 hour ago, nightingale said:

    ...

    You should probably cross-post to the daily Kerbal (and reddit?), I suspect most forum goers don't notice the articles on the sidebar.

    Is a great point, I'll look at that

    Link to comment
    Share on other sites

    On 2/15/2017 at 9:03 AM, IncongruousGoat said:

    All you can do is come up with a Chinese name, completely separate from the other one, and just use that.

    Other names can be completely made up. For example Linus Kerman - there's no well accepted translation of "Linus" for many languages, so you'll lose the name origin anyway, then why bother. But for Jeb/Bill/Bob/Val - it makes sense to translate those instead of making it up. Common names do have commonly accepted translations which could be used here.

    Link to comment
    Share on other sites

    Looks great! I think this localization update is under-rated. I think it is great that people from other countries who can't speak English will now be able to play. Everyone should be able to play Kerbal and the number of people that this helps doesn't matter. They all count!

    Fire

    Link to comment
    Share on other sites

    I am grateful that the development team are seriously responding to our Kanji and Chinese Hanzi.

    Because languages are themselves cultures, they can not be replaced directly, but there are many ways to convey intent.:wink:

    Link to comment
    Share on other sites

    Thought #1: This is awesome. Thanks very much! :D

    Thought #2: Local translations of the 'famous figures' names in KSP sounds very much like it's a crowdsourcing task so you can grab the local flavor and jokes, even if you have to trust that nothing naughty gets slipped in. :wink:

    Thought #3: This whole dev article concept is brilliant. Especially if folks decide that more fundamental parts of KSP need editing too, like, oh, say... the technical implementation of wheels again. :wink:

    Link to comment
    Share on other sites

    On February 14, 2017 at 6:04 PM, goldenpeach said:

     

    Every students of this world understand that perfectly, especially when the length of the texts they have to write is specified in pages and not by the number of words written in it :P

    (and I hope I'm not the only one to use such a trick, otherwise it would mean I'm even more lazy than I think :wink: )

     

     

     

    That and when aword processor when it allows for fine size editing making it 12.5 font size and 2.5 spacing it.

     

    Also, The font work looks good! Regarding the names: I think it would be fine to leave it in a Latin alphabet because most would most other languages understand the Latin alphabet. For example Chinese has Pinyin so Chinese would be fine with Latin alphabet names.

    Edited by ThaZeus
    Link to comment
    Share on other sites

    2 hours ago, Rory Yammomoto said:

    are you going to shift all text to the new font engine? the small text on Linux is barely readable.

    Everything gets brought across to the new fonts yes

    Link to comment
    Share on other sites

    about localisation:

    simplest methode: put the description/the dialoges in an "external" .txt file.

    that replacing/overwriting the orginal files are simple . (a simple "localisation_XX" folder in the gamedata folder) .

    i think a lot of people would localise the game in their own language.

    and: do you use the fonts "in the game" or do you use the fonts from the OS? - if you use your own fonts, why not in an external file?

     

    Link to comment
    Share on other sites

    23 hours ago, Sereneti said:

    about localisation:

    simplest methode: put the description/the dialoges in an "external" .txt file.

    that replacing/overwriting the orginal files are simple . (a simple "localisation_XX" folder in the gamedata folder) .

    i think a lot of people would localise the game in their own language.

    and: do you use the fonts "in the game" or do you use the fonts from the OS? - if you use your own fonts, why not in an external file?

     

    If you download the prerelease you can see the current process in action - they are KSP Fonts and cfg files in short, and once we get all the buttons nailed down we have an article to publish on modding and adding your own languages for just such purposes

    Link to comment
    Share on other sites

    Though not quite about the WEIGHING of fonts this comment does mention fonts.

    Please Squad devs,

    1) level one : Make sure KSP font matche size with the fallback font (one that has all glyphs present) used whenever the glyph you haven't designed appears in translations .

    2) level max : make sure no glyph is missing for every font you use.

    French uses : é è à  ë ä ê â ç ï ï ö ô ù and É È À Ç Ï Î Ö Ô Ë Ê œ Œ And the game menu looked like excrements in 1.2 in a straight forward translation due to font problems. It was a problem in KSP1.2 patched to French.

    7clem, involved in translating KSP to French.

    Link to comment
    Share on other sites



×
×
  • Create New...