'The more they over-think the plumbing, the easier it is to stop up the drain.'

by Michael S. Kaplan, published on 2012/10/10 07:01 -04:00, original URI: http://blogs.msdn.com/b/michkap/archive/2012/10/10/10358083.aspx


The other day, I was asked via the Contact link:

What's up with the reversed parentheses in the Persian keyboard?

Well, he's right.

In Persian:

Parentheses reversed on the Persian keyboard

In Hebrew:

Parentheses reversed on the Hebrew keyboard

In Arabic:

Parentheses reversed on the Arabic keyboard

In almost all RTL script keyboards, the parentheses are reversed.

Literally.

They're not mirrored, they're reversed.

It wasn't always true in typewriters, as this pic shows:

A Hebrew typewriter, which doesn't reverse the parentheses

But computers added something new to the mix.

They added the Bidi algorithm.

They added logical/visual rendering.

They added the notion of neutral characters.

They added mirroring of brackets and parentheses.

And when you consider the side effects of all those things they added, this world where you don't know which way you came from or where they're going to or their orientation when they get there, then the keyboard that is more likely to be creating text surrounding these brackets needs you to not trust simple appearances, like you could with that old typewriter (which is the ultimate example of WYSIWYG -- What You See Is What You Get, in a way that the Bidi Algorithm can never fully do).

It reminds me of an old quote from James Doohan, of Montgomery "Scotty" Scott fame from Star Trek, who said:

The more they over-think the plumbing, the easier it is to stop up the drain.


Doug Ewell on 10 Oct 2012 9:50 AM:

So, you recommend... what?

Joshua on 10 Oct 2012 12:38 PM:

> The more they over-think the plumbing, the easier it is to stop up the drain.

Oh yeah.

Install a locally compiled TrueCrypt (this enables Test Mode and installs a self-signed driver).

Enable full disk encryption of the boot disk (the self-signed driver is now required to boot).

Disable test mode.

Reboot.

Call MS Tech support.

How much you wanna bet they can't unwedge the machine without reformatting?

Random832 on 10 Oct 2012 2:04 PM:

I assume the carriage advances to the right on that typewriter - how do they type numbers? Just go least significant digit first?

ErikF on 11 Oct 2012 8:24 AM:

@Doug Ewell: This probably has to be solved on the application level (the keyboard driver shouldn't have to know the direction of the current text IMO.) If Word can do smart quotes, certainly it should be able to do smart brackets?

Doug Ewell on 12 Oct 2012 11:54 AM:

@ErikF: Bidi, this aspect in particular, is really complex. Some characters like parentheses and brackets are reversible, some aren't, and if you get 10 experts or 10 ordinary users in a room together, I bet you can't get them all to agree on which should and shouldn't be. Offloading this problem to Word or another app is just asking for inconsistency in the user experience, and more grumbling and snarling that "Microsoft screwed this one up too." Not that anyone ever says that, but, you know.

Michael S. Kaplan on 14 Oct 2012 3:43 PM:

The other problem, if you look at the UCD file BidiMirroring.txt, in particular the bottom half labeled:

# The following characters have no appropriate mirroring character.
# For these characters it is up to the rendering system
#   to provide mirrored glyphs.

followed by a ton of commented out characters. How on earth can you reasonably deal with such conformance variations?

Michael S. Kaplan on 14 Oct 2012 4:41 PM:

That is indeed one of the big sources of problems Doug was hinting at with the ten experts and ten ordinary users.

Sometimes, a half solved problem can actually end up being slightly worse than an unsolved problem....

Doug Ewell on 15 Oct 2012 12:18 PM:

I actually didn't mean you can't get people to agree on how to implement Unicode's bidi algorithm. I meant you can't even get people to agree on how bidi SHOULD be implemented.

kelly on 4 Dec 2012 7:41 AM:

the way doung think it just like me same problem. really need your recommendation hope its work.


go to newer or older post, or back to index or month or day