Check out Atomic Chess, our featured variant for November, 2024.


[ Help | Earliest Comments | Latest Comments ]
[ List All Subjects of Discussion | Create New Subject of Discussion ]
[ List Earliest Comments Only For Pages | Games | Rated Pages | Rated Games | Subjects of Discussion ]

Comments by gwalla

EarliestEarlier Reverse Order Later
Chess variant pieces in the Nishiki-teki font[Subject Thread] [Add Response]
Garth Wallace wrote on Thu, Feb 9, 2017 06:03 AM UTC:

In its latest update, the Nishiki-teki font has added a whole bunch of variant chess and fairy chess piece characters in the Private Use Area. (Don't be frightened by all the Japanese in that page, there's English too)

Nishiki-teki is a Unicode-compliant font with a wide character gamut. It is in a very informal, blocky, cartoony sans serif style, intended to be used for dialogue in a piece of Japanese software that puts a little cartoon character on your desktop that you can interact with (but can be used for documents too). It's notable for, like Quivira (which can be found in this site's font listings), taking a very "kitchen sink" approach to its Private Use Area, adding everything from fictional scripts like Tolkein's tengwar and the Klingon pIqaD to medievalist Latin letters to obscure punctuation. Its chess figurines are of the traditional detailed type (with brickwork on the rook) but adapted to a softer Japanese "manga"-style interpretation.

The new figurines are a combination of fairy chess symbols taken from my first Unicode proposal (including some that have been dropped from later revisions) and variant symbols following Quivira. I should point out, though, that the symbols that match the ones in Quivira are not located at the same code points, so the two fonts aren't interchangeable.

Maybe something to add to the list of variant chess fonts.


Quivira FontA desktop publishing resource
. Unicode, TrueType font containing historical chess piece characters.[All Comments] [Add Comment or Rating]
Garth Wallace wrote on Sun, Sep 16, 2018 10:46 PM UTC:

This article is a bit out of date. Two additional blocks of chess symbols were added to its Private Use Area in version 3.2: "Private Use Area: Chess Symbols Extended-A" (consisting of various fairy pieces) at 0E140-0E17F, and "Private Use Area: Chess Symbols Extended-B" (consisting of compounds and 180 turned orthodox symbols) at 0E180-0E1AF.

The latest version of the font is 4.1, which is also presumably the final version as the site has not been updated in years.


Unicode Fonts with Chess Piece Images. Images of how the Unicode Chess piece characters are displayed in different fonts.[All Comments] [Add Comment or Rating]
Garth Wallace wrote on Sun, Sep 16, 2018 10:50 PM UTC:

The "unknown font" appears to be Noto Sans Symbol, part of the Noto font family provided by Google that comes standard on Android.


Garth Wallace wrote on Mon, Sep 17, 2018 04:11 PM UTC:

That's strange. Noto Sans Symbol definitely has chess pieces; it covers the entire Miscellanous Symbols block up to Unicode 6.0, among others.


Heterodox chess piece Unicode proposal[Subject Thread] [Add Response]
Garth Wallace wrote on Mon, Sep 17, 2018 05:57 PM UTC:

An update on this: the proposal was ultimately accepted. The final proposal mostly covers symbols from the fairy chess problemist tradition (e.g. rotated pieces), but does also include the knight-rook, knight-bishop, and knight-queen compound symbols. The characters are currently planned to be added to Unicode 12.0, which IIRC is scheduled to be published in March 2019, in the new "Chess Symbols" block (U+1FA00–U+1FA6F) that was added in Unicode 11.0 and currently includes symbols for Xiangqi.


Unicode Fonts with Chess Piece Images. Images of how the Unicode Chess piece characters are displayed in different fonts.[All Comments] [Add Comment or Rating]
Garth Wallace wrote on Mon, Sep 17, 2018 06:00 PM UTC:

The version I have was provided by my Linux distribution. Google's own link is here.


Garth Wallace wrote on Mon, Sep 17, 2018 08:28 PM UTC:

Fedora (a fairly old version thereof, since I'm not very dutiful about upgrading).

I wonder if Mint messed something up in their distribution? It doesn't make sense for them to deliberately take them out, and it's not like they're new additions to Unicode (they've been included since Unicode 1.0).


Garth Wallace wrote on Tue, Sep 18, 2018 07:08 AM UTC:

The last one does on my computer:


So I was wrong, the font name is Noto Sans Symbols, not Noto Sans Symbol. The other two match DejaVu Sans on my computer, which is probably the first fallback in my font stack.


Garth Wallace wrote on Wed, Sep 19, 2018 04:41 PM UTC:

I'd like to nominate Nishiki-Teki. It's a cartoony "pop" font that takes a manga-styled approach to the detailed "traditional style" (kings and queens with decoration, rooks with masonry, knights with bases, realistic pawns) chess symbols. It also has variant pieces in its very extensive Private Use Area, mostly following Quivira's lead but with a few others from Unicode proposals, from U+FC2E0 to U+FC39E. The site is bilingual in Japanese and English.


Garth Wallace wrote on Thu, Sep 20, 2018 04:30 PM UTC:

The "appendices" to Nishiki-teki are just other (non-free) fonts by the same designer. The one with variant pieces is obsolete because those pieces are all in Nishiki-teki proper now (you can find them in the PDF listing Nishiki-teki's Private Use Area). The basic xiangqi pieces are also in Nishiki-teki at their correct Unicode code points; Westernized symbols are in the PUA, as are Westernized Shogi pieces, though the dedicated fonts also have extras for Xiangqi and Shogi variants.

The current text kind of makes it sound like you need the appendices for variant pieces, but you don't. They're in there already.


Garth Wallace wrote on Thu, Sep 20, 2018 10:08 PM UTC:

Looks like I misremembered. I thought that the Unicode xiangqi characters had been added but apparently not.

The Westernized xiangqi and shogi characters are with the other variant pieces in the Private Use Area. They have names like BLACK CHESS MANDARIN and WHITE CHESS SILVER GENERAL. 


Garth Wallace wrote on Fri, Sep 21, 2018 05:11 AM UTC:

A few more for you:

Chess Merida Unicode is Marroquín's Chess Merida font remapped to the official Unicode code points (glyphs that are not in Unicode, e.g. the pieces on dark squares, are in the Private Use Area). It doesn't contain any glyphs that aren't in the original, so it's strictly for chess only.

Everson Mono is a monospace font with extensive Unicode coverage. The chess symbols are piece outlines/silhouettes rather than the more traditional printed forms, and can be a bit hard to distinguish, particularly at small point sizes.

Fairfax is a 6×12 pixel bitmap font with extensive Unicode coverage and, like Nishiki-teki, an extensive Private Use Area as well (though it does not include variant pieces). The standard chess pieces can be hard to make out, since they're limited to 72-pixel blocks, but points for trying, and it's nice to know that if for some reason you need to use figurine algebraic notation in Klingon text on a console command line, there is a font for you. Unfortunately, Fairfax's non-bitmap "sister" font, Constructium, contains no chess pieces at all.


Image of four level 3D chess set from 1960s Batman TV series[Subject Thread] [Add Response]
Garth Wallace wrote on Fri, Nov 2, 2018 04:17 PM UTC:

AIUI for tournament purposes those would be considered two separate games (in a double round robin or double Swiss), so I wouldn't really call it a variant. I suppose since you have to split your turn time between two boards, then it would be a variant if you consider Blitz Chess to be a variant. Otherwise it's equivalent to playing two games in a row.


Heterodox chess piece Unicode proposal[Subject Thread] [Add Response]
Garth Wallace wrote on Tue, Nov 6, 2018 05:58 PM UTC:

The beta review period for Unicode 12.0 has just begun. This contains the heterodox chess piece symbols. The code point assignments are now fixed; the beta period is to allow developers (and font designers) to get a head start on anything that depends on the newly assigned characters before the Standard is formally released in March.


Mathematical definition of a chess piece?[Subject Thread] [Add Response]
Garth Wallace wrote on Tue, Nov 20, 2018 04:48 AM UTC:

For a while now I've been playing with the idea of defining chess pieces in strictly mathematical terms. Originally this was meant as a more flexible/descriptive alternative for Betza Funny Notation, perhaps as a way of specifying pieces for chess-variant-playing AIs, but there is also the possibility of defining operations and functions over them, and maybe even proving some things algebraically.

My early attempts were to define pieces as sets of possible paths, where paths are sequences of steps, and steps are vectors; notation would use the Kleene star for unlimited equal steps. So a wazir, for example, would be {(0,1),(1,0),(0,-1),(-1,0)}, and a rook would be {(0,1)(0,1)*,(1,0)(1,0)*,(0,-1)(0,-1)*,(-1,0)(-1,0)*}. Since most pieces are symmetrical it would make sense to parameterize this as a kind of shorthand, but since some pieces aren't symmetrical it shouldn't be assumed (in the way that "a 1,2 leaper" usually implies the (1,-2), (2,1), etc. leaps). This works for the usual steppers, leapers, and riders, and even bent riders; it's basically how people usually think of chess moves, just in more formal terms.

But this starts to get awkward where pawns are involved (and a way of describing chess pieces that has trouble with pawns is seriously flawed!). First off, we need to separate passive moves from captures. That's not too bad; we can even do so by introducing a "capture step" distinct from a passive step, which must be to a square occupied by an opposing piece, and this lets us do fun things like define the Chu Shogi Lion and the Locust. Then there's the initial double move, and promotions. We can introduce a new kind of "step" that is a promotion to another piece type to deal with these: the initial double-step can be implemented by defining a "starting pawn" that has it, where every move ends with a "promotion" to a "basic pawn" piece that doesn't. The promotion step is also strange, because it always happens at the end, but if you define operations that derive pieces from other pieces (like a "double move" operation that derives a Hook Mover from a Rook) in terms of sequence concatenation, you can end up with a promotion in the middle, or even more than one. So we've unfortunately introduced a distinction between "well-formed" and "ill-formed" pieces, and a need for some sort of normalization.

Introducing hoppers also complicates things. We have to introduce another step, one that requires a hurdle like the capture step but doesn't capture it. But now we've introduced the possibility of moves that "collapse": after all, what is the difference between a (1,2) knight move, and a pair of a regular mao-move and a mao-move over an obligatory hurdle?  Or between the latter and a pair of a regular moa-move and a moa-move over an obligatory hurdle? Equivalence is a mess.

I never found a satisfying way of dealing with en passant, or castling. Defining a piece in terms of the path is travels doesn't lend itself to a move where two pieces are repositioned.

Finally I realized that this approach fundamentally allowed for pathological alternate definitions of pieces. For example, take the rook. One or more equal orthogonal steps, right? Now let's define an "inside-out rook": a piece that leaps orthogonally directly to the square right next to its final destination, then slides by orthogonal steps until it reaches its starting square, then finally leaps directly to its final destination. This piece behaves exactly like the basic rook. It's entirely equivalent: any square it can reach, a standard rook can also reach under the same conditions, and vice versa. Yet it is considered a different piece. While the example is obviously contrived, similarly weird things could be produced by operations that concatenate or interpolate paths.


Garth Wallace wrote on Tue, Nov 20, 2018 07:31 AM UTC:

Because of the "inside-out rook" problem, I started trying to define equivalence for pieces in terms of what conditions (relative piece positions) a move can be performed under, until I realized that this was a much better way of defining moves in the first place. the inside-out rook demonstrates that the sequence of steps is entirely irrelevant, only which squares relative to the starting square can it be blocked on and how.

So at this point, I changed my approach. Instead of a path being a sequence of steps, it becomes a destination vector and a set of "tests", where a test is a pair of a vector and a state that must be true of the square that vector away from the starting square for the move to be legal.

A welcome byproduct of defining everything in terms of vectors from the starting square, instead of vectors from the previous step in a sequence, is that "exotic" board topologies become much easier to deal with. The sequence method was fine for hex boards (it's just a different set of basis vectors), but trying to define, say, a bishop on a moebius strip board was weird (try it!). But if all vectors are treated as having the same origin, there's nothing special about it.

Nice, right? Oops, forgot about divergent captures. Okay, instead of just a destination vector, we have a set of results, a set of "things that happen when the move is taken", which can include a destination and/or capture vectors. The Chu Shogi Lion's igui capture can be expressed as a move with a capture vector but no destination vector, since the Lion doesn't move; a null-move like the Lion's jitto is a move where the result set is the empty set ∅. Promotions? Another kind of member of a result set.

There's still a problem with promotion though. We need to know when it's an option. All moves are relative, but pawn promotion happens at a certain absolute position. Let's say that there is a "promotion zone" state for squares, and any pawn step onto a square with that state is a move with a promotion result. En passant can be defined in terms of a capture move to a "just stepped over by a pawn's double move" state. Of course hte problem here is that "state" is very vague. A promotion zone is permanent, but the en passant square only exists for one turn, and there's no way of specifying that sort of thing within this system yet.

Another important thing has been left out: black and white, or more generally sides. At this point I'd been mostly ignoring them and was thinking in terms of just e.g. "knight" rather than "black knight" and "white knight". I was more or less treating captures as explicitly affecting the opposite side. But that's not very flexible (it disallows, say, a hopper that can only use friendly hurdles, or a piece that can capture friendly pieces). Abstracting away the actual human players (who may not even exist, e.g. in a chess problem), what is the distinction between the sides? Alternating turns! Counting from the beginning of a game, white pieces move on odd-numbered plies and black on even-numbered plies (and neutral on all). So we should include, as part of a move's condition (set of tests), which plies it may be performed on, in most cases some number modulo the number of sides. Together with obligate promotion, we can even define oddities like Petkovian half-neutrals, which change sides when moved. Now that we've introduced a time dimension, we can even include that in our test vectors, allowing us to define en passant more concretely in terms of the previous turn's position instead of hand-waving an "en passant square" state.

I'll get into royal status, mimics, what a "state" really is, rethinking captures, and generalizing to almost everything later, but it's getting late and I have work tomorrow.


Garth Wallace wrote on Thu, Nov 22, 2018 07:54 AM UTC:

Considering a move to be a set of changes on the board is, in fact, exactly where I ended up going with this. And you're right, it doesn't lend itself to a very compact notation—perhaps a summation-like notation could be introduced to make it easier to describe the common case where a subset of a pieces moves have a direct, progressive relation to each other (like riders). Though as an abstract formulation, it's really powerful. For example, castling is now easy to define. In fact, it seems like you can define nearly everything in the game in these terms, even things that aren't usually considered pieces or qualities of pieces.

I approached move induction in terms of Mimes. When I was still working with sequence-of-step paths, I basically gave up on describing them, which rankled because it meant that I couldn't use set operations like union or intersection on them like I could with "regular" pieces without a lot of hand-waving. When the analysis treats their behavior as "then a miracle occurs", you can't get very useful results. Knight-Relay would be the sort of thing that I wasn't able to deal with, since in that the pieces should really be describable as unions of regular pieces with very limited (knight-only) mimes, and I couldn't figure out how to describe a piece with moves that "changed".

After moving away from sequences, though, I realized that you could include the path from the "move-lending" piece to the mimic as part of the condition. This is basically equivalent to your first method, moving the mime onto the lender and back before proceding to its destination, except that there is no actual "moving", just checking to see if the right squares are unoccupied or occupied by the right pieces. This is nice because it means that mimes are still just sets of moves. The downside is that you can't really define a "generic" mime, since you have to know which pieces it can interact with. But in a way that makes sense, since you can't really draw any conclusions about what a mime is capable of without knowing what moves it can borrow anyway.

Similar reasoning can be applied to define Annan Chess (borrowing a move if there is an unbroken line backwards to the lender), and the Ultima Coordinator (actually simpler, since only the relative position of the friendly King matters).

Soon after hitting on this I realized that you could even apply this to the King's inability to move into check, by including tests for enemy attacks in all of the King's moves. Previously I'd assumed that royal status had to be dealt with in some way outside of this system, but it doesn't have to be. Royal status is really a blanket term that covers a few different qualities. It turns out that the rule against exposing a royal to check can also be expressed in this system, though counterintuitively it is a property of every other piece besides the royal.


Unicode Fonts with Chess Piece Images. Images of how the Unicode Chess piece characters are displayed in different fonts.[All Comments] [Add Comment or Rating]
Garth Wallace wrote on Wed, Apr 24, 2019 11:38 PM UTC:

Nishiki-Teki and Symbola both now support the heterodox chess symbols added to the Chess Symbols block in Unicode 12.0.


18 comments displayed

EarliestEarlier Reverse Order Later

Permalink to the exact comments currently displayed.