Re: Proposal to add standardized variation sequences for chess notation

From: Asmus Freytag <>
Date: Mon, 3 Apr 2017 18:21:38 -0700
On 4/3/2017 4:30 PM, Michael Everson wrote:
The next question would be whether the alternation in background is best expressed in variation sequences or by some other means.
I think the value in the data structures I have described is best retained as text. Anything else just seems it would be simply needlessly complex,

"other means" includes adding direct code points. That's less complex than adding variation selectors.

(A)  If you like ligatures, the simplest solution would be a dedicated empty+filled square (with M-square metrics). Everything else gets taken care of by the ligature. No need for any variation selectors.

You need a dedicated empty+filled square so that you don't pick up a ligature for existing texts that might have a square next to a chess piece. But even that could be argued. (So, the most minimal solution for using ligature is just to describe how to make ligatures - no changes to the encoding needed).

(B) If you don't like ligatures, the simplest solution is to add a dedicated empty+filled plus dedicated "filled background" pieces.

In that case (B), you either (B1) stipulate that a chess font is selected, (not much different from requiring a fixed-width font for some other "plain" text layout cases) or you need to (B2) define a single variation selector to request M-square metrics (so there's no need to duplicate the "white background" pieces).

Only in case (B2) do you need to define one (1) variation selector. No need for more than one. In case (B2) you could get away with reusing some of the squares, because you could get the desired glyphs via applying the VS.

In any of the approaches above, you can output a single row or an 8x8 or any combination and it's "readable" in fall-back plain text (where ligatures or VS may not work).

For case (B2) I would apply the VS to *every* chess code point - it's simpler, even if redundant for the "filled background" pieces.


PS: the line


would look like this, if you base your proposal on ligatures rather than variation selectors (minimal case A above):


This is a fallback of course, because the ▨︁♙︁ and □︀♛︀ would ligate using a proper font.

The first ligature is needed to give you the background and M-square metrics, the second is needed to give you the M-square metrics.

The advantage is that you need absolutely no new code points or sequences and only need to describe the convention for doing ligatures. The other advantage is that nowhere will any user ever see a box for a variation selector. (That's supposed to be the case, but support for that is rather variable).

The disadvantage is that the fallback rendering does not line up; but I would regard that as a minor issue.
Received on Mon Apr 03 2017 - 20:22:01 CDT

This archive was generated by hypermail 2.2.0 : Mon Apr 03 2017 - 20:22:01 CDT