v2.0 - Added Greek & Cyrillic keyboards, full Vietnamese
coverage, more special characters,
more entity names instead of code #s, character not
found warnings, and more efficient code.
Your browser may throw dire warnings that this form is insecure. It is true that it is insecure,
but it's hardly dire. No information is saved, and none of it is sensitive. The data is not even sent
anywhere, it's all within your browser. You can take my word for it
that it's safe and continue despite the warning. Or you can move on, it doesn't matter to me. You could also
save the page and use it off line if that helps allay any concerns.
Select a diacritic and case, then click or type the
desired letter. For special characters, it does not matter which
case is selected. If the combination you select is not part of the supported
characters, a warning
message will flash briefly in between the text and HTML boxes. If the warning
beep option is checked, a little beep will also sound. The beep sound is only
supported by newer browsers. If a character is found that meets your specifications, the
character will be entered into the text box and it's corresponding HTML code
will appear in the HTML box. Do not attempt to edit the HTML box. It is for
read/copy only. Upper case keyboard input overrides lower case selection on
this page, but lowercase keyboard input will be transformed by upper case
selection on this page. Shift-Clicking the on-screen keyboard will not yield
upper case letters as you might expect. Sorry.
You can select from various on-screen keyboards to input characters from practically
any left to right alphabet. Your computer's keyboard remains mapped as it normally is, only the
on-screen keyboard changes. In some cases, you can get letters with combined diacritics
by selecting a diacritic from the table to be combined with a character in the row
below the 'space bar'. If that combination is available as a supported UTF character,
it will be added to the text and html boxes. Otherwise, it will trigger the warning. You should
always enter characters from the on-screen keyboard associated with your language, even if there are
letters on other on-screen keyboards that look identical, because the underlying UTF code number will
be different. I.E., when creating a Greek word starting with Epsilon
('E' - UTF 0x395), enter the 'E' from the
Greek keyboard. The 'E's on the latin keyboard (UTF 0x45) and Cyrillic keyboard (UTF 0x415)
look identical, but the generated HTML code is quite different in each case.
You can also paste text from
other documents into the text field and all the characters will automatically
be converted to HTML, even if some characters are not supported by this page's input tool, as long
as the pasted text is properly encoded UTF-8 text. Most extended characters are
displayed as character code numbers in HTML.
However, to improve legibility of the HTML, selected characters are displayed using their
entity names. When using the generated HTML in your own document, be sure your charset encoding is
specified as UTF-8 or else some characters will not be correctly mapped in
your end user's browser.
UPDATE: Nov 2016 - These days, as long as your page specifies the UTF-8 character set be used,
there is no longer
any need to use HTML entities. All modern browsers will correctly render the actual characters in
your content. This tool was created back when browser support was erratic and HTML entities were the
only reliable way to ensure the correct characters are displayed in various browsers throughout the world.
Despite there no longer being any need to use HTML entitites, this tool is still very useful for
typing foreign characters that are not supported by your keyboard. This is far better than hunting
for the correct characters in MS Word's special character insertion tool, which totally fails as
a decent user interface!
Some really old browsers do not support
selection/cursor coordinate properties, so in this case, while editing text in the text box,
new characters will always be added
to the end of the current text, regardless of cursor locations. All recent
browsers for quite some time support coordinate properties, so you really
need to upgrade your browser if you
are experiencing this issue.
Older Mozilla (Firefox, Netscape, Sea Monkey) browsers convert the to a normal
space character, if you experience this, again, it's time to
upgrade your browser.
Romanian S and T with comma below do not exist in most western
fonts, use S and T with cedilla instead (the T cedilla looks the same in most
fonts anyways). Multiple diacritics, such as unicode 0x1EA4-0x1ED9 (used mostly in Vietnamese)
are mostly supported by combining diacritics with the on-screen characters below the 'space bar'.
What you end up with in your document will
depend on the characters actually supported by the font you are using (or in the case of HTML,
the font that your end user is using). Many fonts do not support all the characters
that can be represented here. You can verify your font's support with the
On newish browsers, it's possible to
send a font to the end user's browser to use for displaying your content by using the
rule in your CSS.
It is difficult to correctly map the over 600 possible characters, I likely made several
mistakes despite all my error checking efforts. If you cannot get a character to come
up that you know is in a common language's alphabet, or the wrong character comes up, please let
me know about the problem. E-mail me at
which selections you made, which key you pressed, what you thought you would get, and
what you actually got, if anything. Your help in tracking down these errors is greatly