Caution: Use of proposed or accepted characters is at implementers' own risk; the composition and allocation of the characters may change before they are finally published in the Unicode Standard. Always check the Unicode Pipeline for the latest guidance.
The relevant characters are:
- U+23FB POWER SYMBOL (⏻ or )
- U+23FC POWER ON-OFF SYMBOL (⏼ or )
- U+23FD POWER ON SYMBOL (⏽ or )
- U+23FE POWER SLEEP SYMBOL (⏾ or ) for the power off symbol.
- Note that POWER SLEEP SYMBOL has been moved into the "Miscellaneous Technical Symbols" block in the Basic Multilingual Plane (BMP) at position U+23FE and given its proper name at last.
See the latest news here. We hope to see the new symbols in Unicode version 9.0, expected in June or July, 2016.
Add IEC 60417-5009 POWER SYMBOL ⏻ to the Unicode Standard
With sincere thanks to the Unicode Technical Committee, UTC #138, and ISO 10646 JTC1/SC2/WG2 #62!
The U+23FB ⏻∗, U+23FC ⏼, U+23FD ⏽, U+23FE ⏾, and U+2B58 ⭘† characters now appear in the Unicode Pipeline Table with the status of “Accepted”. They can be used now, and designed into fonts, and they're on their way to be in a future version of the Unicode Standard after 7.0. The symbols were approved by the ISO 10646 Working Group 2 (JTC 1/SC 2/WG 2) at the WG2 #62 meeting to go into Amendment 2 to ISO/IEC 10646:2014 for publication in 2016. Right now they are in ISO stage 5. See the latest news for details.
∗ These are the symbols: , , , , and , if you don't have the font and can't see them yet. Look here [external site] for a test of dynamic font loading in your web browser.
† The suggestion has been made that this character be co-located with the others in the Basic Multilingual Plane.
Attestations are everything. Committee members need to see evidence that the characters are already in common use in running text before a proposal will be accepted. The more attestations you provide, the better. Attestations are usually photographs or scans showing the occurrence of the proposed characters in print. We managed to find attestations dating back to 1984; some proposals for scripts of historical interest have attestations going back centuries or millennia.‡
Successful proposals cover every angle and raise every anticipated objection before those objections can be raised in committee. Our proposal took the risk of pointing out disagreement and ambiguities around the usage of some of the characters, especially ⏻; this was probably one of the strengths of our argument.
It is possible to do this in a reasonable amount of time (around two months, from start to finish, in our case).
Some artistic drawing talent may be helpful. You'll need to make a new font.
Do provide your font along with the proposal, preferably through a clickable link in the PDF of the proposal, even though the instructions for submission don't ask for it. During the UTC meeting when your proposal is considered, it's likely that subcommittee members will need to write a quick proposal in support of your proposal (that's how it's done) and it'll help them if your font is to hand when they need it. They can't just extract the font from the PDF of your proposal, as we thought they might.§
Complete the ISO/IEC JTC 1/SC 2/WG 2 PROPOSAL SUMMARY FORM TO ACCOMPANY SUBMISSIONS FOR ADDITIONS TO THE REPERTOIRE OF ISO/IEC 10646 and attach it to your proposal.
The right tool for font design is surprisingly important. A custom font is needed early in the process because it's needed to write the proposal, but you should design the font from the beginning to employ arbitrary Unicode code points, because you won't know until late in the process what the actual code points will be. Some of our work was wasted; to avoid that, choose a range in the Unicode Private Use Area (E000 to F8FF) to serve as a placeholder until the UTC suggests real code points. This ensures that you don't get wrapped up in a font design tool that doesn't support Unicode—especially code points above FFFF—which lots of programmes still don't support correctly. See Notes on Tools for Creating Fonts below for more information on free font design tools that work.
Choose a font file format—SVG is good—that can handle metadata so it's possible to embed the font licence and designer's contact information in the font file. The glyphs that will be standardised, that all subsequent font designers will follow, will be defined by the final font you submit. Official font submission happens later in the process; our proposal has been formally accepted and we haven't been asked for the official font yet, so we still have an opportunity to fine-tune the glyphs before then.
Friends on the web are an invaluable resource; sometimes they appear out of nowhere, provide free technical reviewing services, volunteer their time, and lend a hand. We couldn't have done it without them.
See our successful proposal here and use it as a model for your own.
‡⏽ and ⭘ were found in the first IBM PC operating manual on page 1-11, but are believed to have been in use in the late nineteen-seventies.
§ Extracting fonts from a PDF file in the form of usable font files can be done, but it's not very easy.
Download one of the Unicode_IEC_symbol_font.ttf (TrueType), Unicode_IEC_symbol_font.otf (OpenType), Unicode_IEC_symbol_font.ps (PostScript Type 0 font—a CMap file for it will be coming soon) font files and install it on your system.
If you have the font installed, the ⏻ characters ⏼ should ⏽ appear ⏾ inline ⭘ here. (This may not work in all web browsers.) See the Web Browser Test section, especially the HTML Font Embedding Test page below for a more thorough test of your web browser's support for Unicode fonts.
Use of proposed or accepted characters is at implementers’ own risk; the composition and allocation of the characters may change before they are finally published in the Unicode Standard. Always check the Unicode Pipeline for the latest guidance.
Straight Compatibility Test
Here are the new characters displayed without using HTML font embedding: can you see all of them?
- ⏻ POWER SYMBOL
- ⏼ POWER ON-OFF SYMBOL
- ⏽ POWER ON SYMBOL
- ⏾ POWER SLEEP SYMBOL
- ⭘ HEAVY CIRCLE (POWER OFF)
This page uses font embedding in HTML and should work on more browsers.
* Displays a small box with hexadecimal numbers in it like this: .
† Displays an empty box like this: .
‡ See http://gschoppe.com/blog/fixing-unicode-support-in-google-chrome/ for more information on Unicode support in Chrome under Windows.
§ Full support on these devices (everything works correctly) using font embedding in CSS.
∥ Partial support (everything but
BLACK WANING CRESCENT MOONPOWER SLEEP SYMBOL works) using font embedding in CSS.
¶ Safari displays a black box for
BLACK WANING CRESCENT MOONPOWER SLEEP SYMBOL, like this: . alt="black box"/>
** iOS was the only software found to display stacked diacritics correctly.
Feedback on the draft repertoire for ISO/IEC 10646:2014 (4th Edition, Amendment 2) is being sought by the Unicode Technical Committee (UTC) this week. The relevant characters are:
- U+23FB POWER SYMBOL
- U+23FC POWER ON-OFF SYMBOL
- U+23FD POWER ON SYMBOL
- U+23FE POWER SLEEP SYMBOL
As well as U+2B58 HEAVY CIRCLE for the power off symbol.
Note that POWER SLEEP SYMBOL has been moved into the "Miscellaneous Technical Symbols" block in the Basic Multilingual Plane (BMP) at position U+23FE and given its proper name at last.
- For historical reasons, this was probably the original inspiration for this project (see Reference 10).
- New major revisions of Unicode are now expected to be published every year in June; look for Unicode 8.0 in June 2015, and Unicode 9.0 in June 2016.
Unicode 8.0 will contain Amendment 1 characters but probably not Amendment 2; these will come later in the calendar. The repertoire in which our symbols appear is ISO/IEC 10646:2014 (4th Edition, Amendment 2).
Feedback by others on Amendment 2 has suggested that POWER SLEEP SYMBOL ought to be encoded in the "Miscellaneous Technical Symbols" block in the Basic Multilingual Plane (BMP), perhaps at U+23FE. This would co-locate it "...with the other power related symbols in the same Unicode block."
- The new symbols 23FB POWER SYMBOL, 23FC POWER ON-OFF SYMBOL, 23FD POWER ON SYMBOL,
1F32D BLACK WANING CRESCENT MOON (use for POWER SLEEP SYMBOL)23FE POWER SLEEP SYMBOL, together with the new cross reference on 2B58 HEAVY CIRCLE (use for POWER OFF SYMBOL) appear in the Draft Additional Repertoire for Amendment 2 to ISO/IEC 10646:2014 (4th Edition). The draft repertoire is in the Proposed Draft Amendment (PDAM) stage. Your help is requested to discover any errors in character names, incorrect glyphs, or other problems.
- The Unicode Pipeline Table has been updated. Our new characters are in ISO stage 5 (of 8 stages) and on track for publication in 2016 as amendment 2 to ISO/IEC 10646:2014.
(25th February 2014)
- The symbols were approved by the ISO 10646 Working Group 2 (JTC 1/SC 2/WG 2) at the WG2 #62 meeting this week to go onto an ISO amendment; the document number of the proposal is N4567.
(14th February 2014)
The new characters appear in the Pipeline Table.
(12th February 2014)
- Test page for web browsers.
(8th February 2014)
- Working on a CMap file for the Postscript Type 0 font.
(7th February 2014)
- Here is a diagram of the compass and straightedge construction.
(6th February 2014)
Notes on Constructing the
BLACK WANING CRESCENT MOONPOWER SLEEP SYMBOL with compass and straightedge.
Updated proposal according to revision notes from UTC #138.
(5th February 2014)
See the updated proposal (in Table 6 on page 7 of the PDF file) for instructions on how to type the new characters.
Updated TO-DO list for wish-list items like
U+23FB POWER SYMBOL x 2B58 heavy circle U+23FC POWER ON-OFF SYMBOL U+23FD POWER ON SYMBOL U+2B58 HEAVY CIRCLE x 23FB power symbol • power off symbol U+1F32DU+23FE BLACK WANING CRESCENT MOONPOWER SLEEP SYMBOL x 23FB power symbol • power sleep symbol
Unicode Character Properties
23FB;POWER SYMBOL;So;0;ON;;;;;N;;;;; 23FC;POWER ON-OFF SYMBOL;So;0;ON;;;;;N;;;;; 23FD;POWER ON SYMBOL;So;0;ON;;;;;N;;;;; 1F32D;BLACK WANING CRESCENT MOON;So;0;ON;;;;;N;;;;;
The last line above has since been changed to:
23FE;POWER SLEEP SYMBOL;So;0;ON;;;;;N;;;;;
(3rd February 2014)
- Results of the UTC meeting today.
(2nd February 2014)
(29th January 2014)
The proposal as submitted is here on the Unicode Consortium web site.
*(Previous updates are here.)
Historical Section and Proposal Development
The following sections describe, in approximately chronological order, how the proposal was developed from start to finish. We began the project on 1st December 2013 and reached our goal the first week of February 2014.
The IEC 60417-5009 “Stand-by” Symbol
On 1 December 2013, Terence Eden posed a question to Hacker News asking why Unicode lacks the international symbol that appears on power switches. After searching for a while, I learnt he was right — in fact, Unicode lacks all of the following symbols:1
IEC 60417-5007 IEC 60417-5008 IEC 60417-5009 IEC 60417-5010 IEEE 1621 “ON” (power) “OFF” (power) “Stand-by” “ON”/“OFF” (push-push) “Sleep” Click on any image for SVG.
Source of the above images: Wikipedia. The first four symbols were drawn by Wikipedia users klork and DarkEvil; the moon was made specifically for this purpose from the specifications in the precise drawing.
Clearly these would be useful to anyone writing technical or user manuals. In fact, for electronically publishing documentation, it is crucial to have symbols defined in Unicode because it makes them search-able in text.
How to Add Symbols to Unicode
There are a few crescent moon symbols in Unicode already: the
🌙CRESCENT MOON (U+1F319), ☽ FIRST QUARTER MOON (U+263D), and ☾ LAST QUARTER MOON (U+263E) symbols, but none of them are exactly like the IEEE 1621 symbol; U+1F319 is closest, but faces the opposite direction.
Getting Access to the “Official” Symbols
Before submitting a proposal, I would like to verify the specifications for each symbol shown above in IEEE 1621-2004 and IEC 61417, which is also ISO 7000:2012, and then translate those into whatever form of description is required by Unicode.
The ISO standard is free.4
The SVG files for the symbols in the table are public domain.
You know, it's really hard to find a straight answer to the question of whether ISO standard symbols are copyrighted by ISO. Evidently, they are not, but the standard doesn't say so.
Here is what I think the law says:
Everyone is encouraged to make their things compliant with relevant and current ISO standards.
To do so, makers need a copy of the standard; they can purchase it from ISO.
Copyright of the standard document itself belongs to ISO, so pirating standards documents is a no-no.
But there is no royalty cost or anything like that on things made according to the standard.
I have been unable so far to find a clear statement anywhere that making things that are compliant with an ISO standard is allowed. It's probably buried in the ISO by-laws.
I'm not going to worry about it. The Unicode Technical Committee undoubtedly has thought about this before and probably knows the answer.
Thanks to everyone here for technical reviews, suggestions, improvements, and finding errors and omissions:
In brief, the suggested character properties are now (with names and code points from UTC #138):
Char CP Unicode Name GC CC BC D NT NV B 1 I U L T 23FB POWER SYMBOL* So 0 ON N 2B58 HEAVY CIRCLE† So 0 ON N 1F32D23FE POWER SLEEP
BLACK WANING CRESCENT MOON‡ So 0 ON N 23FD POWER ON SYMBOL So 0 ON N 23FC POWER ON-OFF
So 0 ON N
(22nd January 2014)
- Thanks to everyone who's contributed!
(21st January 2014)
- The required ISO/IEC JTC 1/SC 2/WG 2 PROPOSAL SUMMARY FORM TO ACCOMPANY SUBMISSIONS FOR ADDITIONS TO THE REPERTOIRE OF ISO/IEC 10646 is now included in the proposal.
(19th January 2014)
Changed the name character properties to be more descriptive.
(16th January 2014)
Changed name of the TrueType font to IECsymbol everywhere.
TrueType font files in Windows need to have the 'execute' permission set in UNIX (0755) or they aren't recognised as a valid font file.
(15th January 2014)
We have a document number! It is L2/14-009.
Corrected wrong usage of the IEEE 1621 “sleep” symbol everywhere.
In response to a reviewer's question, I added evidence of the symbols' usage in running text. I was able to find evidence dating as far back as the IBM PC/XT Guide to Operations from 1984.
Added further notes on copyright.
(14th January 2014) The UTC agenda for the 3—6 February 2014 meeting is now being compiled.
(13th January 2014) The proposal is ready to send to UTC in time for the February meeting.
(11th January 2014) Call for agenda items from the Unicode Technical Committee (UTC).
(7th January 2014) How you can help.
ISO Submission Form
The ISO/IEC JTC 1/SC 2/WG 2 PROPOSAL SUMMARY FORM TO ACCOMPANY SUBMISSIONS FOR ADDITIONS TO THE REPERTOIRE OF ISO/IEC 10646 form is appended to the proposal.
The call for agenda items for the UTC meeting in February is out.
I have the document submission details now (it's in the members section). It is encouraged that a representative for each proposal to the UTC should attend the meeting and present the document. The next meeting is February 3–6, 2014 at IBM in San Jose, California.
We need reviewers for the draft proposal. It's not ready yet, but starting in a few days, email me for a copy. What we are looking for is not just copy-editing, but:
Was there anything you tripped over?
Anything that felt out of place or inappropriate?
Is something missing?
Spelling, grammar, or other problems, of course.
Any review is valuable, but the most useful of all can be things like, I got bored half-way through this section. The current draft proposal is always here (PDF). Email the author or use a GitHub issue, however you prefer.
Thanks to Adam De Witt for the idea!
Improve the metadata in the fonts to include, at minimum, licence and description information. These get embedded in the font file if present in the SVG source code.
Write a follow-up article for HN.
Determine “character properties” like name, bidirectional class, upper and lowercase mapping, line-breaking behaviour, and collation order for the new symbols we're proposing.
Check the IEC and IEEE standards to verify that the symbols in the new font are compliant with the specifications in the standards.
Check to make sure these symbols are not in any upcoming draft standard.
Section Code Point Description Telugu fractions and weights 0C78 TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR 0C79 TELUGU FRACTION DIGIT ONE FOR ODD POWERS OF FOUR 0C7A TELUGU FRACTION DIGIT TWO FOR ODD POWERS OF FOUR 0C7B TELUGU FRACTION DIGIT THREE FOR ODD POWERS OF FOUR 0C7C TELUGU FRACTION DIGIT ONE FOR EVEN POWERS OF FOUR 0C7D TELUGU FRACTION DIGIT TWO FOR EVEN POWERS OF FOUR 0C7E TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR Miscellaneous Symbols 26EE GEAR WITH HANDLES (= power plant, power substation) Kangxi Radicals 2F12 KANGXI RADICAL POWER Yijing Hexagram Symbols 4DE1 HEXAGRAM FOR GREAT POWER Mathematical Alphanumeric Symbols 1D4AB MATHEMATICAL SCRIPT CAPITAL P (= power set)
...but not the IEC power symbol. There are none in BETA right now, nor in the pipeline as of 20-December-2013; therefore, it is proper to submit a proposal at this time. Hints for Submitting Successful Character and Script Proposals for submitting good proposals are being looked at.
Circulate the draft proposal for review.
Submit proposal to the UTC.
Put the new code points in the font.
Document the compass-and-straightedge construction of the Unicode POWER SLEEP SYMBOL.
Make a PostScript font and CMAP file.
The calendar has been updated; the next quarterly meeting of the Unicode Technical Committee (UTC) will take place 3–6 February 2014 in San Jose, California. The next meeting after that is 6–9 May 2014. I want to get our proposal submitted in time to make the agenda for the February meeting (two weeks in advance).
On the first day of their quarterly meeting, the Unicode Technical Committee (UTC) reviewed our proposal first thing. There was discussion of whether some of the symbols (POWER ON and POWER OFF) ought to be “unified” with existing symbols such as the ASCII vertical bar. An ad hoc group discussed the unification question and came back later in the day with a short document or counter-proposal listing names and code points. The UTC is expected to vote on it tomorrow.
What To Do Next
After the proposal is submitted, I plant to submit a “Show HN” post on HN telling how it was done.
There is an excellent SVG font tutorial specifically aimed at generating icon fonts. It includes an SVG font starter file, instructions for using the SVG font editor built into Inkscape 0.48, recommendations about which on-line font converters are most reliable, and tips for editing the metadata and distributing the new font afterwards.
These instructions for using TrueType fonts in LaTeX are straightforward, but a better method is to use XeTeX which has built-in support for TrueType fonts already installed in the OS, and is available in MiKTeX 2.9.
When designing a new font of symbols where there is no pre-existing ordering to use, what is the best way to define the encoding? There are practical and aesthetic reasons for doing it thoughtfully. The practical reason is, encodings are shared across fonts, and if a string encoded in your new symbol font is accidentally changed to or displayed in a different font, it may coincidentally spell out a message that is nonsensical, confusing, or offensive. (Microsoft had this problem with the Wingdings font; it was either a coincidence or a conspiracy depending on who's telling the story.)
Years ago at Lockheed, they had a special font containing the corporate logo in a few sizes, for use in Microsoft Word before such graphics were common. It was not uncommon back then to open a Word document and see a big “L” on the page where the letterhead was supposed to be, because the font wasn't loaded. The fact suggests that the font designer thought about the encoding and put the corporate logo in the capital-L encoding slot for that reason, so it would fail gracefully if the font were unavailable.
In the absence of any well-defined convention for code pages in “sparse” symbol fonts, here is a proposed encoding for the old font:
Code Point Symbol Rationale Note P “power” 1 S “sleep” T “toggle” 0 binary “0” 1 binary “1”
1. This usage of the “power” symbol is in accordance with the recommendation in IEEE 1621:2004 to use the symbol to mean “power” as everyone in the world except IEC and ISO thinks it means, and to use the symbol to mean “sleep”.
Notes on XeTeX
XeTeX in the current version of MiKTeX has a bug that causes a harmless message during compilation,
** WARNING ** Couldn't open font map file "kanjix.map". To avoid it, place an empty file called
kanjix.mapin the current directory.
To construct the symbol, first construct a line with a perpendicular. Call their intersection the origin. Draw a circle of radius r centred on the origin. Draw a larger circle centred on the horizontal line to the right of the origin with radius 5r/4 and passing through a point r/2 to the left of the origin. Both circles should intersect the vertical line through the origin at the same two points. The centre of the large circle should be 3r/4 to the right of the origin. The desired crescent is the area of the smaller circle outside the larger circle. Rotate the crescent about the centre of the smaller circle anti-clockwise 23.44° to match the axial tilt of Earth.
Analytically, for the purpose of drawing things with a computer, the angle of the arc of the larger circle between the horns of the crescent is nontrivial to calculate; a much more straightforward way to construct the crescent given the usual computer drawing tools is to draw two complete circles centred on a horizontal line, the smaller circle centred on the origin with radius r and the larger circle centred on the same horizontal line at 3r/4 to the right of the origin with radius 5r/4. Fill the smaller circle with black and the larger circle, atop it, with background colour. Some drawing programmes allow you to subtract the large circle from the small circle, thereby yielding immediately the desired crescent shape.
In either case, fill the crescent with black and rotate it 23.44° anti-clockwise around the centre of the smaller circle to complete the drawing.
California Energy Commission, Public Interest Energy Research Program. The Power Control User Interface Standard: Consultant Report. Report number P500-03-012F: Lawrence Berkeley National Laboratory, December 2002. http://energy.lbl.gov/controls/publications/P500-03-012F.pdf
Michael Everson. “Towards a proposal to encode power symbols in the UCS”. Working Group Document ISO/IEC JTC/SC2/WG2 N4xxx, L2/14-059, 4th February 2014. http://www.unicode.org/L2/L2014/14059-power.pdf