Suggest a Topic!

Sorting it all Out
Michael Kaplan's random stuff of dubious value
Be sure to read the disclaimer here first!

Suggest a Topic!

  • Comments 6

Suggest a Topic (July 29th, 2007 to NOW)

Yes, here is where you can suggest a topic for future coverage by Sorting it all Out. I will allow any item that even remotely makes sense for me to cover, and will probably remove items after they are covered. We'll see how it goes, I still feel like I am new at this....

Comment on the blather
Leave a Comment
  • Please add 2 and 2 and type the answer here:
  • Post
Blog - Comment List
  • I really enjoy your weblog -- I've always been interested in Unicode and internationalization topics in general (though it's a purely personal interest -- I'd be thrilled if my company's internal apps supported lowercase letters, let alone anything with a diacritic.)  I'd be very interested in hearing more about the history and nature of Unicode in general, particularly some of the compromises that went into it (such as Han Unification).  You've touched on the rather idiosyncratic nature of Korean Hangul in Unicode, and I'd love to hear more about it.

    Thank you very much!

  • Not that you are a typography wonk, but I think you might find the release of 1.0 of the STIX fonts kind of interesting. It attempts to cover much of the Unicode Plane 0 and 1 with a special emphasis on the mathematic / scientific characters. More information here: www.stixfonts.org/abt_ff.html

  • Hi Michael,

    I'm trying to generate key press/release using SendInput and having trouble with two particular keys: Num-lock and Pause. I have been using KEYEVENTF_SCANCODE tag and according to MSDN, when this tag is used, the virtual key (ki.wVk) is not needed as the scancode provided will be used to identify the key. The following code works for every key except for Num-lock and Pause. It's a matter of changing the scancode and the flag KEYEVENTF_EXTENDEDKEY to generate other keys. I noticed that the virtual key generated by this method is 0xff which is incorrect for Num-lock (the correct virtual key is 0x90).

    INPUT input[2];
    ::ZeroMemory(input, sizeof(input));        
    input[0].type = input[1].type = INPUT_KEYBOARD;
    input[0].ki.wVk = input[1].ki.wVk = VK_NUMLOCK;   //Not actually needed with KEYEVENTF_SCANCODE
    input[0].ki.wScan = input[1].ki.wScan = 0x45;
    input[0].ki.dwFlags = KEYEVENTF_SCANCODE | KEYEVENTF_EXTENDEDKEY;
    input[1].ki.dwFlags = KEYEVENTF_SCANCODE | KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP;
    ::SendInput(2, input, sizeof(INPUT));

    I can fix this problem by removing KEYEVENTF_SCANCODE and provide the virtual key (ki.wVk) along with the scancode.

    INPUT input[2];
    ::ZeroMemory(input, sizeof(input));        
    input[0].type = input[1].type = INPUT_KEYBOARD;
    input[0].ki.wVk = input[1].ki.wVk = VK_NUMLOCK;
    input[0].ki.wScan = input[1].ki.wScan = 0x45;
    input[0].ki.dwFlags = KEYEVENTF_EXTENDEDKEY;
    input[1].ki.dwFlags = KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP;
    ::SendInput(2, input, sizeof(INPUT));

    So my question is why doesn't the first method work? Especially why it works with every other keys except for two: Num-lock and Pause.

  • June 2006:

    "And then I will talk about Avalon (WPF) and composite fonts -- both the good and the bad. At that point I will talk about some of the general features and also some of problems with other solutions involving dynamic layouts...."

    April 2008:

    "I'll be talking about these composite fonts soon, so stay tuned in...."

    Okay, may I suggest the topic to be, say, composite fonts? That would be great.

    Greetings!

    Jan :-)

  • Programatically deleting files from the Windows\Fonts folder in Win XP / Win 7.

    Michael, any chance you could resume your excellent series on fonts in Windows? I’ve just come across them (you stopped in 2008) and well, I’ve learnt a lot, but I still have some questions unanswered.

    My background; I’m writing a font management program (yes, yet another one) which tries to do the job more simply and more helpfully than other managers do it (www.fontrainbow.com, if you’re interested).

    Now, my question is about removing fonts from the Windows\Fonts folder. Is it possible to do it programmatically? I’ve seen other people asking, but I’ve not seen any answers anywhere online. I’m being asked to provide a way to let users prune their font dropdown lists, which seems a reasonable request (I know about Windows core fonts, and I protect those) and for font files outside of the W\F folder I use RemoveFontResource and RegDeleteValue, and everything’s fine. For files inside this folder, I want to first copy the file to a backup folder (which works ok) and then delete from W\F, and unregister it. So I’ve got three things; delete the file, RemoveFontResource, and RegDeleteValue. No matter which order I try these, the file delete fails. I get “Cannot delete file: cannot read from the source file or disk “. And I find that when RFR and RDV succeed, the font gets reinstalled when Windows restarts.

    In one of your postings you said something like “and then delete the file, or try to…” which makes me think you knew it might be difficult. Is this something Windows doesn’t want me to do? I can delete from this folder manually no problem, so I don’t think it can be to do with permissions.

    I’m developing / testing on Win XP, but the program will need to work on Win 7 also.

    PS – seems like MainType can do this on Win 7, so there must be a way – can you point me to it?

    Any help gratefully received!

  • In the Wikipedia page on the classic Mongolian script ( en.wikipedia.org/.../index.php ), it briefly mentions some problems with using Mongolian on computers.

    Among these, it links to a Microsoft KB article ( support.microsoft.com/.../929763 ) which details "some problems" with the OpenType layout data for Vista's new font Mongolian Baiti, which (in the KB's own words!) "makes the font almost unusable in Windows Vista."

    I sense a bit of a story there. Perhaps someday you will be ready to tell it, Michael?

Page 1 of 1 (6 items)