Sorting it all Out Michael Kaplan's random stuff of dubious value Be sure to read the disclaimer here first!
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....
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
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;::ZeroMemory(input, sizeof(input)); input.type = input.type = INPUT_KEYBOARD;input.ki.wVk = input.ki.wVk = VK_NUMLOCK; //Not actually needed with KEYEVENTF_SCANCODEinput.ki.wScan = input.ki.wScan = 0x45;input.ki.dwFlags = KEYEVENTF_SCANCODE | KEYEVENTF_EXTENDEDKEY;input.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;::ZeroMemory(input, sizeof(input)); input.type = input.type = INPUT_KEYBOARD;input.ki.wVk = input.ki.wVk = VK_NUMLOCK;input.ki.wScan = input.ki.wScan = 0x45;input.ki.dwFlags = KEYEVENTF_EXTENDEDKEY;input.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.
"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...."
"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.
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!
I installed Windows 8 Consumer Preview 32-Bit on a Notebook for testing purposes.
I could install "KeyboardLayoutCreator 1.4/ MSKLC.exe", too.
After having copied my Avestan Font
I made the Keyboard Layout "ETAvestanWindows8.klc" using the KeyboardLayoutCreator 1.4.
But trying to install this Keyboard Layout failed.
Error 2020 (..\.\tmpETAveWi8.txt, line 73):
VK_OEM_PLUS (bb) found at scancode 1b and 0d.
I think Windos 8 CP does not yet support Unicode ranges bigger than Hex 10000.
Therefore I already contacted Mr. Michael Kaplan
(cf. What about all the fonts in Unicode Standard Version 6.1 codified by Hex-numbers 1000 and greater.
Are there any support for inputting featured planned for Windows 8?
I mean is there a keyboard layout for being able to write for example "Avestan" (Hex 10B00 to 10B3F)
I'd be obliged to get your appreciated answer.
Tuesday, June 19, 2012
''SCARE QUOTES'' ''SCARE'' THE ''HELL'' OUT OF ''ME'' !!!
On the origins of the term "scare quote" as newsroom term:
DOES ''ANYONE'' HAVE ANY ''IDEA'' WHO ''COINED'' THE TERM ......''SCARE QUOTES''..... AND WHY AND WHEN?
A LANGUAGE ''EXPERT'' AT STANFORD, [privacy for now but initials are AZ],WHO BLOGS AT LANGUAGE LOG TELLS ME:
The OED2 draft addition Sept. 2004 has it from 1956; the first two cites
are both from philosophers:
1956 Mind 65 3 The ‘scare-quotes’ are mine; Aristotle is not
overtly discussing the expression ‘whichever happens’.
1960 P. T. Geach in M. Brand Nature of Human Action (1970) 119
Someone..might use ‘happy’, in scare-quotes so to say, to mean ‘what
most people count happy, that is rich’.
(but that doesn't tell us who ''coined'' it -- and it could have been a
translation from another language, like ''German'', my ''friend'' at Stanford adds)
Hello, we have a question here regarding numeric parsing in MVC 3/4. In the ViewModel, there are properties of Collection<T> that are classes with property of int and decimal values. As project requirement, when the page display numbers it should add thousands seperators.
There's little challenge on the display part, but when posting back the data, we found that if the field contains thousands seperators, it couldn't be set in the corresponding ViewModel object (those properties are found to be set with null or 0, depending on whether it's nullable or not).
Using method as answer in this < forums.asp.net/.../1 > post doesn't help because the ModelBinders.Binders.Add() will only match for exact match of type (We have multiple ViewModels which are very different in type of contents), and it won't loop inside those model members for every int/decimal properties.
Is there any way to handle this, or would the be any plan to add a global / thread-based modifier for NumberStyles.AllowThousands for those Parse() methods?
Now I have a suggestion: What about making a Song category/tag for posts containing references to songs or lyrics? :)
We're rolling out Windows 7 to thousands of PCs in our university. Most things are fine, but we just can't seem to get the Indic IMEs to install, although the CJK IMEs work fine. It seems that SYSPREP won't process the Indics. I'm responsible for Multilingual Computing, so this comes to me, even though I know nothing about SYSPREP, imaging etc., and I'm lost. Is this a topic for discussion, or are we just doing something wrong?
Thanks in advance.
P.S. Belated thanks for the excellent tips re chaining dead keys!
Way back in November 2008: "This is not yet my take on DirectWrite" - blogs.msdn.com/.../9028666.aspx
And you've mentioned DirectWrite in passing since, most recently in quoting from "Script and Font Support in Windows 8" - blogs.msdn.com/.../10284834.aspx
But your full international take on DirectWrite hasn't quite materialized yet. And, since every Metro-style^W modern^W Windows Store app in Windows 8 uses DirectWrite for its text arrangement and rendering, DirectWrite is becoming the premier way to display text on Windows.
So, like Jan Kučera did with composite fonts - might I suggest DirectWrite as a next topic?
This is an update on your webblog article back in Feb. 2011, regarding Ski Johnson. Thought you might find this article of interest.
Hospice Says Charity Auction Offer Was a Rook
By KEVIN KOENINGER
PALM BEACH, Fla. (CN) - A charity claims in court that it was left holding the bag when a nonprofit failed to deliver on Grammy tickets auctioned off to a couple for $12,000.
The Hospice of Palm Beach County Foundation says that it received an email inquiry about auctioning off tickets to the 2012 Grammy Awards.
Jazz for Life allegedly offered to donate the tickets and cover certain costs, such airfare and a hotel for the auction winners, in exchange for half the auction proceeds.
The hospice says it auctioned the tickets to the Charbonneaus for $12,000, but Jazz for Life employee Kevin Wright declined to produce the tickets in advance for "security reasons."
"In lieu of sending the actual tickets to Mr. and Mrs. Charbonneau, Jazz for Life would send an official invitation and once Mr. and Mrs. Charbonneau arrived in Los Angeles they would receive the tickets from [Jazz for Life founder Ski] Johnson.
"On December 29, 2011, hospice sent a check to Jazz for Life for $5,500 representing its portion of the net ticket proceeds.
"On December 30, 2011, Mr. Wright made hotel reservations at the Marriott Hotel in Century City using Lauryn Barry's Hospice credit card. However, the charge on the credit card was to Jazz for Life and when Ms. Barry inquired about it, Mr. Wright confirmed that it was in fact a charge for the Marriott Hotel in Century City.
"On February 12, 2012, approximately 9:45 P.M., Ms. Barry received a call from Mrs. Charbonneau expressing her disappointment, as although she did ride in a limousine and walk the red carpet with Johnson, she did not receive tickets to the Grammy Awards from him as promised and therefore, did not attend the event.
"On February 13, 2012, Mrs. Charbonneau contacted Ms. Barry and advised her that she was charged for their hotel room at the Marriott in Century City. The $804 charged to Ms. Barry's credit card by Jazz for Life was not used for this expense as represented by Mr. Wright.
Claiming that it had to repay the Charbonneaus their $12,000, the hospice $15,000 from Jazz for Life, Wright and Johnson.
The complaint alleges breach of contract, fraud and violations of Florida's Deceptive and Unfair Trade Practices Act. The foundation is represented by Russell Kerr.
Looking at the User Interaction section of Windows Application UI Development at msdn.microsoft.com/.../ff657750.aspx, everything except the touch and gestures seems to be a "legacy user interaction feature". So did I get it correctly that the text input is a legacy feature? Or is there a section describing modern text input features hidden somewhere else?
Hi again Michael!
I had a go to make make the Keyboard-dlls that I had problems with earlier on work as expected, ref your site: blogs.msdn.com/.../10340297.aspx
Now I've finished off an simple loader/wrapper for the kbd*.dll files and present them in a manner that people recognize (both x86/x64).
Read the article on my blog: lars.werner.no or on Codeproject: www.codeproject.com/.../Multi-language-on-screen-keyboard-using-Windows-ke you'll probably find it interesting?
Multilinguale Unterstützung für Avestan unvollständig
Ich habe Windows 8 enterprise 32-bit-edition als trial installiert. Ebenfalls Office 2010 als trial Version.
Inzwischen - das war bisher nicht so - kann man in Word 2010 auch Avestan (Unicode hex 10B00 ff) eingeben und darstellen.
Allerdings nur von links nach rechts.
Avestan wird jedoch von rechts nach links geschrieben. das müsste in Windows 8 (vermutlich in Unicsribe usp10.dll) verbessert werden.
Ich würde auch vorschlagen, den Keyboard Layout Creator so zu programmieren, dass damit auch keyboards mit Unicode Codpoints mit fünfstelligen hex Zahlen erstellt werden können, Bisher funktioniert der Keyboard layout Creator nur bis zu vierstelligen hex codes.
Multilingual support for Avestan incomplete
I have installed windows 8 enterprise 32-bit-edition as trial version. Although Office 2010 as trial Version.
Just now it is possible to input and display Avestan script in Word 2010 but only from left to right writing position.
But Avestan has to be inputted from right to left. So I think it is necessary to update uniscribe (usp10.dll) for Avestan script's right to left inputting possibility.