다음을 통해 공유


Klingon Win8 Lock Screen: Might Sell Qurgh on Win8 After All :)

A while ago I blogged about Klingon in pIqaD in a Custom Locale - that worked OK in Vista & Win7 using Uniscribe font fallback, but Win8 uses DWrite in a lot of places, and DWrite really would prefer EUDC (End User Defined Character) fallback.  So my pIqaD didnʻt work so hot on Win8 :(  Fortunately I found a reg key to fix that :)  (This is abusing some of the OS behavior, which was designed for Chinese and Japanese, not Klingon).

EUDC characters are intended for use in primarily the CJK region, where you may need to use the "End user defined character" section of a code page (yes, code pages are evil, use Unicode).  The EUDC sections are mapped to the Unicode PUA (Private Use Area), which is where Klingon lives since itʻs not in Unicode.  Conscript gave some "consistent" (its not really a standard) places to put things like Klingon so I use those. 

Anyway, normally the "code page" corresponding to the system code page of interest is used to look up extended mappings in the EUDC key.  Typically thatʻs something like "932", but it works for 1252 as well.  (If youʻre using another code page, update the example appropriately.  So, we add a key telling Windows that for ʻend userʻ characters when the systemʻs running 1252, look in this font, eg:

[HKEY_CURRENT_USER\EUDC\1252]
"SystemDefaultEUDCFont"="pIqaD.ttf"

Not terribly difficult.  Log off/on to the user and voila, we have Klingon fallback.  Qurgh is gonna love this: I even make a pIqaD user account, and with the fallback I see it on the Start Screen:

Thatʻs wonderful, the lock screen also uses our user locale information (set Klingon pIqaD from my Vista custom locale), but the systemʻs actually doing the work.  I copied the key "everywhere" just to make sure:

[HKEY_USERS\S-1-5-20\EUDC\1252]
"SystemDefaultEUDCFont"="pIqaD.ttf"

[HKEY_USERS\S-1-5-19\EUDC\1252]
"SystemDefaultEUDCFont"="pIqaD.ttf"

[HKEY_USERS\S-1-5-18\EUDC\1252]
"SystemDefaultEUDCFont"="pIqaD.ttf"

Donʻt forget default, new users are going to want pIqaD, Iʻm sure of it :)

[HKEY_USERS\.Default\EUDC\1252]
"SystemDefaultEUDCFont"="pIqaD.ttf"

And with that change, our custom locale provides Klingon on the lock screen too!

(Iʻm not sure where the wallpaper came from, if it was you, thanks).

Qurgh and I differ a bit on our approach to Klingon long date formats, but I like all that pIqaD. 

Of course it isnʻt complete without the logon screen:  (It was great of the theme guys to give us wonderful colors perfect for Klingons)

 

 And wait, thereʻs more.  Other users (because of .default if you got there first) can see that thereʻre Klingons sharing the machine:

 And of course the Uniscribe stuff from my Vista post still works in other places.  This box has a Klingon admin:

Of course, Iʻm just taking advantage of stuff that was intended for other purposes.  More often EUDC is used for CJK character that represent names and other words not encoded in Unicode.  So a company could use this technique to make sure that important words were usable internally.  A family with unique names could make a font though and do this for their names.

Also, my Vista custom locale is a bit old, but I wanted tell Qurgh how to set up the EUDC stuff for his custom Klingon locales.  I need to update my own older pIqaD custom locale package and keyboards, but thatʻll take a while..

(PS: I forgot to mention that EUDC fallback also respects the locales digit substitutions, so youʻll get Klingon numbers in various places.  Uniscribe only does digit substitution for the number ranges it knows about (eg: those in Unicode, not the PUA), so those apps wonʻt see numbers in pIqaD).

Comments

  • Anonymous
    July 13, 2012
    The comment has been removed

  • Anonymous
    July 13, 2012
    Hey, that was the first (& only) font I've ever done!  Yes I mucked up the metrics and stuff. First you're probably gonna have to get the Unicode gods to encode pIqaD in Unicode :)

  • Anonymous
    February 28, 2013
    I just got a new computer. First thing I used IE for was the only thing IE is good for: to download Firefox. First thing I used Firefox for was to try to figure out how to get Klingon localization on this thing. Thanks for doing the legwork. I downloaded a pIqaD font but it's not working in Windows-8. I was afraid it wasn't supported. And his name, btw is qurgh. Capital Q and lower case q are different in Klingon.

  • Qov (with a capital Q)
  • Anonymous
    March 19, 2013
    Hmm, I suppose I was using English titlecasing, which may not mix well with Klingon:) Apparently IE's good for displaying pIqaD though....

  • Anonymous
    October 23, 2015
    So any pointers on how to get this working on Windows 10? I tried my Windows 7 setup, and that let me type in pIqaD, but only if I picked the font. The fallback seems to fail now, so I can't use pIqaD within the OS itself. We also have new information about Klingon calendars. Okrand gave us the names of days of the week (monday, tuesday, etc) and it would be nice to add them into a new locale.

  • Anonymous
    October 23, 2015
    Cool, I'd like to know how he translated those!  I'd tweak the locale any other ways he specified too :)

  • Anonymous
    October 23, 2015
    I'm not sure what trouble you're having.  We have to provide fallbacks for "DWrite" and "Uniscribe" individually.  This post describes the one, the linked post at the top describes the other. Remember: mucking with the registry can break your machine, so please be careful and back up the keys you're changing. For the dwrite EUDC linking it's a per-user and per-codepage thing, so you have to add it to your current user reg key, or appropriate other accounts.  AND it has to happen for the machine code page (1252 for en-US, if you're using a different system code page, it'll need a different number) For the uniscribe thing you'll need to add the font to the beginning of the list for each font it needs installed on.  I haven't tried it with fonts other than my pIqaD.ttf font.  It has to be a truetype or opentype font I believe.  From the other post: "If you look at [HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionFontLinkSystemLink] in the registry, you'll see entries for each font.  Stick your font name (ie: pIqaD.ttf) at the beginning of each font you want to fallback to your characters. "