Prepare support to be able to handle font data in loader, consolidate
data structures to sys/font.h and update vtfontcvt.
vtfontcvt update is about to output set of glyphs in form of C source,
the implementation does allow to output compressed or uncompressed font
bitmaps.
Reviewed by: bcr
Differential Revision: https://reviews.freebsd.org/D24189
I did add some more glyphs to provide box drawing and set of additional
glyphs to provide better support for some code pages. Still does not quite
match terminus.
Japanese keyboards traditionally use 0x5c for
both Japanese yen sign key and backslash key.
While a Japanese yen sign is depicted on the keytop,
most of Japanese expect that the scan code 0x7d gives
a backslash (0x5c), not a Japanese yen sign (0xa5).
This is because JIS X 0201 encoding (aka ISO/IEC 646-JA,
an extended version of ASCII which is very popular
in Japan) has Japanese yen sign at 0x5c and
no backslash. On the other hand, ISO/IEC 8859-1
has Japanese yen sign at 0xa5. This difference has
caused a confusion after Unicode became popular since
ISO/IEC 10646 adopted 8859-1 for the plane 0.
MFC after: 1 week
A number of entries of the form "de.kbd.from-cp850" existed in vt's
INDEX.keymaps, added in r270114, but these files do not exist.
I removed them in r355585 but accidentally re-added them in r355592.
Remove them yet again.
PR: 235564, 235853
MFC after: 1 week
Also sort some entries into the correct location, correct MacBook
capitalization, etc.
PR: 235853
MFC after: 1 week
Submitted by: scootergrisen gmail com
These were the only values in the range from 0 to 0x1f that were defined
as hex values, all other occurances have been converted before.
MFC after: 1 week
A number of entries of the form "de.kbd.from-cp850" existed in vt's
INDEX.keymaps, added in r270114, but these files do not exist.
PR: 235564
Submitted by: scootergrisen gmail com
MFC after: 1 week
Primarily missing glyphs used by mandoc.
Added:
U+2010 hyphen
U+2011 non-breaking hyphen
U+2012 figure dash
U+2013 en dash
U+2014 em dash
U+2018 left single quotation mark
U+2019 right single quotation mark
U+2020 dagger
U+2021 double dagger
U+203E overline
U+2122 trade mark sign
U+2502 box drawings light vertical
U+25A1 white square
U+25CA lozenge
U+25CB circle
U+2660 black spade suit
U+2663 black club suit
U+2665 black heart suit
U+2666 black diamond suit
U+FFFD replacement char
Sponsored by: The FreeBSD Foundation
A few glyphs were converted incorrectly:
U+00A6 broken bar - center
U+2022 bullet - center
U+2026 horizontal ellipsis - move to bottom of character cell
This matches Xorg's handling of Ctrl+/ and may be useful as a tmux
escape.
PR: 212197
Submitted by: martin at sugioarto.com
Tested by: Arshan Khanifar <arshankhanifar_gmail.com>
MFC after: 2 weeks
Relnotes: Yes
This is not properly respecting WITHOUT or ARCH dependencies in target/.
Doing so requires a massive effort to rework targets/ to do so. A
better approach will be to either include the SUBDIR Makefiles directly
and map to DIRDEPS or just dynamically lookup the SUBDIR. These lose
the benefit of having a userland/lib, userland/libexec, etc, though and
results in a massive package. The current implementation of targets/ is
very unmaintainable.
Currently rescue/rescue and sys/modules are still not connected.
Sponsored by: EMC / Isilon Storage Division
The menu entry "Danish ISO-8859-1 (macbook)" was first added to the
syscons(4) INDEX.keymaps in r241851 with no language code, and then in
r256367 incorrectly tagged with "da". It is a Danish keyboard map, but
the description is in English and therefore must be "en".
This error subsequently propagated into the vt(4) INDEX.keymaps.
PR: 146793, 193656
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
several updates to the converter tools. There is now support for hybrid
source keymaps, which e.g. use ISO8859-1 (not -15) but still provide an
Euro key (on the "E" key). ISO8859-1 currency symbols on other keys are
still converted to that character, not the Euro sign. A similar hack was
applied to the Japanese keyboards to add the Yen key, that could not be
expressed in SYSCONS.
Several modifications have been applied after the conversion (removal of
unused accents tables, some reformatting, exchange of a few key symbols).
The German keymap (de.kbd) is now using deadkeys only for those keys,
that behave that way under Windows. There are now ".acc" and ".noacc"
variants, which use deadkeys vs. nodeadkeys for all accent keys.
I'm still in the process of comparing keymaps that existed in different
encodings in SYSCONS. These are generally translated slightly differently,
either because of mistakes, or because of different preferences, or due
to limitations of the respective encoding.
MFC after: 3 days
but shall provide an Euro sign - similar for Japanese Yen).
The Brazilian keymap "br.kbd" now has accents, by default - the no-accents
version has been renamed to "br.noacc.kbd".
MFC after: 3 days
I have spent many hours comparing source and destination formats, and hope
to have caught the most severe conversion errors.
Files were converted with a Perl script which I'll shortly commit to the
tools directory. This script is a much enhanced version of the one
provided by ray@ and is expected to support the full kbdmap(5) syntax.
The naming convention used is:
<2-letter country code>.<variant>.kbd
Only if there are multiple layouts for different languages:
<2-letter country code>-<2-letter language code>.<variant>.kbd
In nearly all cases, the keyboards are country specific, only. Currently
there is only one case where the language was added ("ch-fr.kbd" for
the Swiss-French keyboard layout).
I choose to write Unicode character codes as hex numbers. While this
increases the diff to the SYSCONS keymap files for the trivial cases
(conversion from ISO8859-1), it really helps to verify the more complex
cases against a Unicode table (which is indexed by hex numbers).
This commit does not cover all files that have been converted, since I
need to sort out which ones to use, if there were several with different
source encodings to choose from.
Review and test of the keymap files is highly desirable before 10.1 is
released. I'd also appreciate educated opinions regarding the optimum
variant (to be made available as the default for each language).
Since there are no NEWCONS keymaps in 10-STABLE, I plan to MFC after
the minimum allowed delay of 3 days, to allow at least a few weeks to
test and improve what will be in the next release.
MFC after: 3 days
These were copied from share/syscons/keymaps/??.iso.kbd. They were
not actually ISO 8859-1 as assumed. When interpreted as Unicode they
ended up with the generic currency sign (U+00A4) instead of the euro
(U+20AC).
Reported by: Claude Buisson, tijl@
This consists of the unique glyphs from the following font files in
/usr/share/syscons/fonts:
iso*.fnt ISO-8859-1 West European
iso02*.fnt ISO-8859-2 Central European
iso04*.fnt ISO-8859-4 Baltic
iso05*.fnt ISO-8859-5 Cyrillic
iso07*.fnt ISO-8859-7 Greek
iso08*.fnt ISO-8859-8 Hebrew
iso09*.fnt ISO-8859-9 Turkish
iso15*.fnt ISO-8859-15 West European
Sponsored by: The FreeBSD Foundation
vtfontcvt(8) is now built during buildworld, so can be used as a
bootstrap tool to create vt(4) fonts from source .hex or .bdf font
files, rather than having uuencoded binary fonts in the tree.
Sponsored by: The FreeBSD Foundation