BTC symbol (B⃦) renders poorly

Bug #1061115 reported by Luke-Jr
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Ubuntu Font Family
Invalid
Undecided
Unassigned

Bug Description

With the regular "Ubuntu" font, the double-vertical-stroke is offset too far to the right, overlapping the curve. Condensed and Mono do a bit better, but it would be best if there was some empty space between the right stroke and the curves. Also, in all 3 fonts, the symbol does not fit the design - $ is rendered with the "inside" stroke invisible, so it would make sense if it were invisible for B⃦ as well, much like the standard rendering: http://hammeroftruth.com/wp-content/uploads/2011/03/bitcoin-logo.jpg

Revision history for this message
Paul Sladen (sladen) wrote :

nb. The 'B⃦' pasted here decodes to U+0042 U+20E6 (COMBINING DOUBLE VERTICAL STROKE OVERLAY).

Searching around, I've also spotted 'B⃦' U+0E3F ('THAI CURRENCY SYMBOL BAHT) in use.

Neither of these are presently in the Ubuntu Font Family; so this probably comes down to two possibilities:

  (a) Working out where the substitution is coming from and fixing it in that font.
  (b) Requesting that we include either the double vertical combiner, or the Baht, or both in (a very-long-way-off future version of the Ubuntu Font Family).

Luke: (1) Do you have a preference; (2) would you be able to attach a screenshot. Ideally if you're able to export what you're seeing as a PDF (eg. Print to PDF), then it would make debugging (a) easier.

Revision history for this message
Luke-Jr (luke-jr) wrote :

(1) Baht is not the same as the BTC symbol, and is currently only used when technical limitations interfere (such as this one)
(2) I'm not sure my PDF printing is going to embed the font, so I made a PNG: http://luke.dashjr.org/tmp/code/btc.png - top row is "how it looks now" and bottom is "how I imagine it would look in these fonts" - left to right, Ubuntu, Condensed, Mono

Re (2), note that I do not use Ubuntu as OS, just the fonts.

Is there a reason this can only be added in a "very-long-way-off" version? I wouldn't mind creating a TTF version of it if that would help, though I don't know how to properly set up the ligature data...

Revision history for this message
Matthew Paul Thomas (mpt) wrote :

Luke-jr, I appreciate your enthusiasm in wanting the Ubuntu font to be up to date with new currency symbols.

Unfortunately, this report is not valid because U+0042 U+20E6 B⃦ is not the Bitcoin symbol. It is an approximation of one of the possible symbols. Bitcoin users haven't even agreed amongst themselves on a symbol yet, let alone submitted it for inclusion in Unicode. Apparently the former will happen this year. <http://www.coindesk.com/bitcoin-foundation-standardise-bitcoin-symbol-code-next-year/>

When that is decided, it might be Ƀ <http://bitcoinsymbol.org/>, or it might be something that *looks like* B⃦, or it might be something else entirely. But it's unlikely to actually *be* U+0042 U+20E6 B⃦, for the simple reason that that is two glyphs rather than one. Once the Bitcoin Foundation agrees on a symbol, please do report a bug about that.

Meanwhile, it is true that Ubuntu's rendering of U+0042 U+20E6 B⃦ is not ideal, especially at small sizes where it is not hinted. But that combination of characters is extremely rare, so I don't think this warrants any changes to the font.

Changed in ubuntu-font-family:
status: New → Invalid
Revision history for this message
Luke-Jr (luke-jr) wrote :

U+0042 U+20E6 B⃦ has indeed already been the de-facto BTC symbol since before 2011. Proposals have been put forward for a change/alternative, but B⃦ is by far the most common, and the "default" symbol recognised as BTC.

The Bitcoin Foundation is not really a relevant organisation, and does not represent Bitcoin nor the Bitcoin community in any sense - why they are wasting their time/resources in this way should not really be a concern.

Unicode policy would not allow encoding B⃦ any way other than U+0042 U+20E6, since it already has a valid encoding - generally exceptions to this rule are only made for compatibility with preexisting encodings, which is not the case here.

B⃦ is only "rare" due to problems with fonts, so this is chicken-and-egg. I believe fixing it in fonts first is a good approach.

Changed in ubuntu-font-family:
status: Invalid → New
Revision history for this message
Matthew Paul Thomas (mpt) wrote :
Download full text (3.8 KiB)

I am not a Bitcoin expert. I had never even heard of the Bitcoin Foundation until two days ago. I have no opinion or stake in whether they are good, or bad, or anything else. I can understand that in a decentralized system, the legitimacy of any central-ish organization will be contested. But you will understand, I'm sure, that if within a few minutes I can find things like (a) detailed release notes for Bitcoin core software published by the Foundation <http://bitcoinfoundation.org/bitcoincore/>, (b) a Bitcoin developer conference arranged by the Foundation <http://devcore.sched.org/>, and (c) over 100 Reddit /r/bitcoin posts referring to the Foundation in the past month alone <http://www.reddit.com/r/Bitcoin/search?q=bitcoin+foundation&restrict_sr=on&t=month>, I am unavoidably led to the conclusion that labelling the Foundation as "not really a relevant organisation" is not being straightforward. Controversial? Sure. Irrelevant? Hardly.

Anyway, my only point in referring to the Foundation was as a likely source of a Bitcoin symbol proposal for Unicode. If someone else does it instead, great. I was going to suggest that, as someone familiar with Unicode processes, maybe you could do it yourself. But then I discovered that a "Luke-jr" had devised the U+0042 U+20E6 combination themselves on a Unicode mailing list in July 2011. <http://www.unicode.org/mail-arch/unicode-ml/y2011-m07/0058.html>

Notwithstanding that this discovery happened two and a half years after the start of the Bitcoin network, a third "Luke-jr" then apparently tried and failed to add the composition to Wikipedia's Bitcoin article, and then had the chutzpah to claim that "This isn't a vote; B⃦ has been the standard symbol since the beginning". <https://bitcointalk.org/index.php?topic=115169.0>

This was handwaving away the noticeable difference between the vector logo (double bars at top and bottom) and the Unicode composition (double bars all the way through). A fourth "Luke-jr" said -- on, of all places, the forums of that supposedly-irrelevant Bitcoin Foundation -- that this was just a stylistic choice for fonts, and that a precomposed character would never be accepted into Unicode. <https://bitcoinfoundation.org/forum/index.php?/topic/286-getting-an-official-unicode-symbol/page__st__20#entry9825> But changing the appearance of U+20E6 when it is combined with U+0042 would require implementing an OpenType contextual alternate, which is getting pretty far off into the font support wilderness. More importantly, the corollary that the $ dollar symbol would not be accepted into Unicode, if proposed today, should have been a clue that something was wrong with that argument. Did that Luke-jr really think that the Unicode Consortium would require people to type two glyphs every time they used the dollar symbol?

Meanwhile, the Bitcoin wiki claims that B⃦ is the standard symbol ... but only because that was written by one of the wiki administrators, and anyone who has read this far will completely unsurprised to learn that their name was "Luke-jr". <https://en.bitcoin.it/w/index.php?title=Bitcoin_symbol&action=historysubmit&diff=24654&oldid=24053>

I'm going to go way o...

Read more...

Changed in ubuntu-font-family:
status: New → Invalid
Revision history for this message
Luke-Jr (luke-jr) wrote :

The "release notes" published by the Foundation are unofficial (the official ones are published with the source release, as well as mirrored at https://bitcoin.org/en/release/v0.10.0 ), and the Foundation does not have any authority over the Bitcoin Core software (although they do sponsor 3 developers, who work independent of their influence). There are also many conferences held by a variety of different orgnaisations. By "not relevant", I was referring to the topic of a symbol only.

The B⃦ predates my involvement with Bitcoin, but I can at least trace it back to [Bitcoin 0.2.13](https://github.com/bitcoin/bitcoin/commit/3ca507a6eb1cecbf40a907a52c27128efb666ec0#diff-ce5cccd308c9ed66abf2412f431cbfbb), released by Satoshi Nakamoto who originally created Bitcoin.

If font rendering software falls short, then perhaps that needs to be addressed first.

Any BTC symbol of any form will require copy/paste, many keystrokes, or (the ideal for someone who wishes to type it) a modified keymap that has a single keystroke. There is no inherent reason a double-codepoint symbol would require two keystrokes in any scenario.

Considering the huge amount of quoting of my out of context, should I interpret your response to be hostility? Since I am not even a fan of the BTC unit (just one of few who understand how its symbol relates to Unicode), I am not going to push this further myself.

Changed in ubuntu-font-family:
status: Invalid → Confirmed
Revision history for this message
Luke-Jr (luke-jr) wrote :

Note if you still wish to close this, "Won't Fix" is the correct status, not "Invalid".

Revision history for this message
Paul Sladen (sladen) wrote :

Hello Luke. I would love to see a Bitcoin currency symbol included in the Ubuntu Font. Indeed, Ubuntu was one of the first to similarly be able to make the Indian Rupee available once its codepoint had been assigned:

  http://font.ubuntu.com/rupee/

Furthermore so, as Ubuntu Bold Italic is the logo font for the 'bitcoin' brand it would be great to include a matching harmonic Bitcoin currency symbol. Designing and including such a glyph is (relatively) doable. Once a glyph (only) is included there would still be no way to access that glyph, and so it then becomes a question of be how to expose that to the user; by assigning a mapping of codepoint to point to that previously included glyph.

There remains no defined codepoint for "BITCOIN CURRENCY SYMBOL" so this is where we get stuck. The choices are then:

  (a) Redefining an Undefined (random) codepoint from the Private Use Area
  (b) Redefining the meaning of an existing well-Defined codepoint

The second option is undesirable because it alters the semantic meaning. Until there is a *standardised* code point, redefining and usurping the meaning of anything else is unlikely to help; as we can see from:

   https://en.bitcoin.it/w/index.php?title=Bitcoin_symbol&oldid=53818#Existing%20Unicode%20symbol

Somebody is going to be potentially upset by the defining of their well-defined codepoint: it would be unfair to have to make a choice between potentially upsetting Aboriginal Canadians vs. People from Thailand vs. People from Greek.

In summary: it's not possible to progress the mapping part until something is standardised. Once somebody is standardised, then, like with the Indian Rupee things can move pretty fast!

Changed in ubuntu-font-family:
status: Confirmed → Invalid
Revision history for this message
Luke-Jr (luke-jr) wrote :

As I understand Unicode policy, there never* will be a "BITCOIN CURRENCY SYMBOL" since it is already encoded. Please see http://www.unicode.org/pending/proposals.html and http://www.unicode.org/pending/symbol-guidelines.html on the topic. In particular: "Often a proposed character can be expressed as a sequence of one or more existing Unicode characters. Encoding the proposed character would be a duplicate representation, and is thus not suitable for encoding. (In any event, the proposed character would disappear when normalized.) For example, a g-umlaut character is not suitable for encoding, since it can already be expressed with the sequence <g, combining diaeresis>." Exceptions to this rule appear to be for legacy/compatibility reasons only, and there is no legacy encoding of the BTC symbol.

* It's conceivable that some day, someone may propose making an entirely new symbol, which might be encoded as such, but none appear to be seriously considered today. I am referring only to the original Bitcoin symbol used since 2010, in the context of this feature request.

Revision history for this message
Paul Sladen (sladen) wrote :

I fear two things might be getting muddled up:

  (a) How to reference a CAPITAL LETTER B with some LINES running through it
  (b) How to reference a BITCOIN CURRENCY SYMBOL

They may or may not look the same, but have different semantic meanings. (Think about how a text-to-speech reader would reader would pronounce them).

Revision history for this message
Luke-Jr (luke-jr) wrote :

Hm, that's actually a pretty good point IMO. Unicode doesn't generally treat things differently if they look the same, regardless of meaning, but text-to-speech may make the crucial difference in this case.

Revision history for this message
Paul Sladen (sladen) wrote :

Yup, and while we're on it is shape with the lines running through it B(Latin) or Β(Greek) or В(Cyrillic). …They all look the same to me. ;-)

(And in Ubuntu are the same glyph/outline).

Revision history for this message
Luke-Jr (luke-jr) wrote :

Yeah, those are certainly an example of glyphs grandfathered-in to Unicode. ;)

Revision history for this message
Luke-Jr (luke-jr) wrote :

FWIW I brought up the TTS matter on the Unicode ML: http://www.unicode.org/mail-arch/unicode-ml/y2015-m03/0007.html

Revision history for this message
Matthew Paul Thomas (mpt) wrote :

Again, it was unclear in my original response, but I meant to cite the Bitcoin Foundation only as a viable source of a Bitcoin symbol proposal for Unicode. Whether they do it, or someone else does it, doesn't matter for the purpose of the Ubuntu font -- just as long as it's accepted.

The Bitcoin 0.2.13 commit <https://github.com/bitcoin/bitcoin/commit/3ca507a6eb1cecbf40a907a52c27128efb666ec0#diff-ce5cccd308c9ed66abf2412f431cbfbb> shows the Bitcoin logo, not the Unicode composition U+0042 U+20E6 that imitates the logo. That is, again, conflating a logo with a symbol.

You're right that the Unicode Consortium's guidelines do seem to preclude new precomposed characters. But their actions are more interesting to me than their guidelines. And after I described why I thought a composition would be impractical for a currency symbol, I discovered that in 2014, the Consortium approved the new Russian ruble symbol U+20BD. This was *explicitly* a combination of glyphs: "a capital letter ‘P’ – the Cyrillic alphabet version of the letter ‘R’ – with an extra horizontal line". <http://www.cbr.ru/eng/today/?Prtid=voterub> That is, it was a precomposed U+0420 U+0336. There was no grandfathering going on here. And people on the Unicode mailing list at the time were mindful of whether it was the same as an existing character (jokingly identifying it as U+0554). But nobody even suggested U+0420 U+0336 as a permanent solution. <http://www.unicode.org/mail-arch/unicode-ml/y2013-m12/thread.html#15>

The ruble symbol is now a high priority for adding to the Ubuntu font (bug 1345591). I look forward to a Bitcoin symbol, once it is codified, receiving the same treatment.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.