font size increased and all font options added

This commit is contained in:
Neythen 2021-05-01 12:08:15 +01:00
parent d7c905a339
commit c94ea1f5c9
85 changed files with 1130488 additions and 15 deletions

BIN
final.ppm

Binary file not shown.

140567
fonts/10x20.bdf Normal file

File diff suppressed because it is too large Load Diff

BIN
fonts/10x20.pbm Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
fonts/10x20.pil Normal file

Binary file not shown.

11981
fonts/4x6.bdf Normal file

File diff suppressed because it is too large Load Diff

BIN
fonts/4x6.pbm Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 569 B

BIN
fonts/4x6.pil Normal file

Binary file not shown.

25905
fonts/5x7.bdf Normal file

File diff suppressed because it is too large Load Diff

BIN
fonts/5x7.pbm Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 794 B

BIN
fonts/5x7.pil Normal file

Binary file not shown.

21422
fonts/5x8.bdf Normal file

File diff suppressed because it is too large Load Diff

BIN
fonts/5x8.pbm Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 873 B

BIN
fonts/5x8.pil Normal file

Binary file not shown.

31042
fonts/6x10.bdf Normal file

File diff suppressed because it is too large Load Diff

BIN
fonts/6x10.pbm Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
fonts/6x10.pil Normal file

Binary file not shown.

86121
fonts/6x12.bdf Normal file

File diff suppressed because it is too large Load Diff

BIN
fonts/6x12.pbm Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
fonts/6x12.pil Normal file

Binary file not shown.

82452
fonts/6x13.bdf Normal file

File diff suppressed because it is too large Load Diff

BIN
fonts/6x13.pbm Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
fonts/6x13.pil Normal file

Binary file not shown.

25672
fonts/6x13B.bdf Normal file

File diff suppressed because it is too large Load Diff

BIN
fonts/6x13B.pbm Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
fonts/6x13B.pil Normal file

Binary file not shown.

15432
fonts/6x13O.bdf Normal file

File diff suppressed because it is too large Load Diff

BIN
fonts/6x13O.pbm Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
fonts/6x13O.pil Normal file

Binary file not shown.

20768
fonts/6x9.bdf Normal file

File diff suppressed because it is too large Load Diff

BIN
fonts/6x9.pbm Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1007 B

BIN
fonts/6x9.pil Normal file

Binary file not shown.

64553
fonts/7x13.bdf Normal file

File diff suppressed because it is too large Load Diff

BIN
fonts/7x13.pbm Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
fonts/7x13.pil Normal file

Binary file not shown.

20093
fonts/7x13B.bdf Normal file

File diff suppressed because it is too large Load Diff

BIN
fonts/7x13B.pbm Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
fonts/7x13B.pil Normal file

Binary file not shown.

16653
fonts/7x13O.bdf Normal file

File diff suppressed because it is too large Load Diff

BIN
fonts/7x13O.pbm Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
fonts/7x13O.pil Normal file

Binary file not shown.

54128
fonts/7x14.bdf Normal file

File diff suppressed because it is too large Load Diff

BIN
fonts/7x14.pbm Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
fonts/7x14.pil Normal file

Binary file not shown.

21221
fonts/7x14B.bdf Normal file

File diff suppressed because it is too large Load Diff

BIN
fonts/7x14B.pbm Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
fonts/7x14B.pil Normal file

Binary file not shown.

74092
fonts/8x13.bdf Normal file

File diff suppressed because it is too large Load Diff

BIN
fonts/8x13.pbm Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
fonts/8x13.pil Normal file

Binary file not shown.

22852
fonts/8x13B.bdf Normal file

File diff suppressed because it is too large Load Diff

BIN
fonts/8x13B.pbm Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
fonts/8x13B.pil Normal file

Binary file not shown.

25932
fonts/8x13O.bdf Normal file

File diff suppressed because it is too large Load Diff

BIN
fonts/8x13O.pbm Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
fonts/8x13O.pil Normal file

Binary file not shown.

105126
fonts/9x15.bdf Normal file

File diff suppressed because it is too large Load Diff

BIN
fonts/9x15.pbm Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
fonts/9x15.pil Normal file

Binary file not shown.

37168
fonts/9x15B.bdf Normal file

File diff suppressed because it is too large Load Diff

BIN
fonts/9x15B.pbm Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
fonts/9x15B.pil Normal file

Binary file not shown.

119182
fonts/9x18.bdf Normal file

File diff suppressed because it is too large Load Diff

BIN
fonts/9x18.pbm Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
fonts/9x18.pil Normal file

Binary file not shown.

19082
fonts/9x18B.bdf Normal file

File diff suppressed because it is too large Load Diff

BIN
fonts/9x18B.pbm Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

BIN
fonts/9x18B.pil Normal file

Binary file not shown.

42
fonts/AUTHORS Normal file
View File

@ -0,0 +1,42 @@
The identity of the designer(s) of the original ASCII repertoire and
the later Latin-1 extension of the misc-fixed BDF fonts appears to
have been lost in history. (It is likely that many of these 7-bit
ASCII fonts were created in the early or mid 1980s as part of MIT's
Project Athena, or at its industrial partner, DEC.)
In 1997, Markus Kuhn at the University of Cambridge Computer
Laboratory initiated and headed a project to extend the misc-fixed BDF
fonts to as large a subset of Unicode/ISO 10646 as is feasible for
each of the available font sizes, as part of a wider effort to
encourage users of POSIX systems to migrate from ISO 8859 to UTF-8.
Robert Brady <rwb197@ecs.soton.ac.uk> and Birger Langkjer
<birger.langkjer@image.dk> contributed thousands of glyphs and made
very substantial contributions and improvements on almost all fonts.
Constantine Stathopoulos <cstath@irismedia.gr> contributed all the
Greek characters. Markus Kuhn <http://www.cl.cam.ac.uk/~mgk25/> did
most 6x13 glyphs and the italic fonts and provided many more glyphs,
coordination, and quality assurance for the other fonts. Mark Leisher
<mleisher@crl.nmsu.edu> contributed to 6x13 Armenian, Georgian, the
first version of Latin Extended Block A and some Cyrillic. Serge V.
Vakulenko <vak@crox.net.kiae.su> donated the original Cyrillic glyphs
from his 6x13 ISO 8859-5 font. Nozomi Ytow <nozomi@biol.tsukuba.ac.jp>
contributed 6x13 halfwidth Katakana. Henning Brunzel
<hbrunzel@meta-systems.de> contributed glyphs to 10x20.bdf. Theppitak
Karoonboonyanan <thep@linux.thai.net> contributed Thai for 7x13,
7x13B, 7x13O, 7x14, 7x14B, 8x13, 8x13B, 8x13O, 9x15, 9x15B, and 10x20.
Karl Koehler <koehler@or.uni-bonn.de> contributed Arabic to 9x15,
9x15B, and 10x20 and Roozbeh Pournader <roozbeh@sharif.ac.ir> and
Behdad Esfahbod revised and extended Arabic in 10x20. Raphael Finkel
<raphael@cs.uky.edu> revised Hebrew/Yiddish in 10x20. Jungshik Shin
<jshin@pantheon.yale.edu> prepared 18x18ko.bdf. Won-kyu Park
<wkpark@chem.skku.ac.kr> prepared the Hangul glyphs used in 12x13ja.
Janne V. Kujala <jvk@iki.fi> contributed 4x6. Daniel Yacob
<perl@geez.org> revised some Ethiopic glyphs. Ted Zlatanov
<tzz@lifelogs.com> did some 7x14. Mikael Öhman <micketeer@gmail.com>
worked on 6x12.
The fonts are still maintained by Markus Kuhn and the original
distribution can be found at:
http://www.cl.cam.ac.uk/~mgk25/ucs-fonts.html

369
fonts/README Normal file
View File

@ -0,0 +1,369 @@
Unicode versions of the X11 "misc-fixed-*" fonts
------------------------------------------------
Markus Kuhn <http://www.cl.cam.ac.uk/~mgk25/> -- 2008-04-21
This package contains the X Window System bitmap fonts
-Misc-Fixed-*-*-*--*-*-*-*-C-*-ISO10646-1
These are Unicode (ISO 10646-1) extensions of the classic ISO 8859-1
X11 terminal fonts that are widely used with many X11 applications
such as xterm, emacs, etc.
COVERAGE
--------
None of these fonts covers Unicode completely. Complete coverage
simply would not make much sense here. Unicode 5.1 contains over
100000 characters, and the large majority of them are
Chinese/Japanese/Korean Han ideographs (~70000) and Korean Hangul
Syllables (~11000) that cannot adequately be displayed in the small
pixel sizes of the fixed fonts. Similarly, Arabic characters are
difficult to fit nicely together with European characters into the
fixed character cells and X11 lacks the ligature substitution
mechanisms required for using Indic scripts.
Therefore these fonts primarily attempt to cover Unicode subsets that
fit together with European scripts. This includes the Latin, Greek,
Cyrillic, Armenian, Georgian, and Hebrew scripts, plus a lot of
linguistic, technical and mathematical symbols. Some of the fixed
fonts now also cover Arabic, Thai, Ethiopian, halfwidth Katakana, and
some other non-European scripts.
We have defined 3 different target character repertoires (ISO 10646-1
subsets) that the various fonts were checked against for minimal
guaranteed coverage:
TARGET1 617 characters
Covers all characters of ISO 8859 part 1-5,7-10,13-16,
CEN MES-1, ISO 6937, Microsoft CP1251/CP1252, DEC VT100
graphics symbols, and the replacement and default
character. It is intended for small bold, italic, and
proportional fonts, for which adding block graphics
characters would make little sense. This repertoire
covers the following ISO 10646-1:2000 collections
completely: 1-3, 8, 12.
TARGET2 886 characters
Adds to TARGET1 the characters of the Adobe/Microsoft
Windows Glyph List 4 (WGL4), plus a selected set of
mathematical characters (covering most of ISO 31-11
high-school level math symbols) and some combining
characters. It is intended to be covered by all normal
"fixed" fonts and covers all European IBM, Microsoft, and
Macintosh character sets. This repertoire covers the
following ISO 10646-1:2000 (including Amd 1:2002)
collections completely: 1-3, 8, 12, 33, 45.
TARGET3 3282 characters
Adds to TARGET2 all characters of all European scripts
(Latin, Greek, Cyrillic, Armenian, Georgian), all
phonetic alphabet symbols, many mathematical symbols
(including all those available in LaTeX), all typographic
punctuation, all box-drawing characters, control code
pictures, graphical shapes and some more that you would
expect in a very comprehensive Unicode 4.0 font for
European users. It is intended for some of the more
useful and more widely used normal "fixed" fonts. This
repertoire is, with two exceptions, a superset of all
graphical characters in CEN MES-3A and covers the
following ISO 10646-1:2000 (including Amd 1:2002)
collections completely: 1-12, 27, 30-31, 32 (only
graphical characters), 33-42, 44-47, 63, 65, 70 (only
graphical characters).
[The two MES-3A characters deliberately omitted are the
angle bracket characters U+2329 and U+232A. ISO and CEN
appears to have included these into collection 40 and
MES-3A by accident, because there they are the only
characters in the Unicode EastAsianWidth "wide" class.]
CURRENT STATUS:
6x13.bdf 8x13.bdf 9x15.bdf 9x18.bdf 10x20.bdf:
Complete (TARGET3 reached and checked)
5x7.bdf 5x8.bdf 6x9.bdf 6x10.bdf 6x12.bdf 7x13.bdf 7x14.bdf clR6x12.bdf:
Complete (TARGET2 reached and checked)
6x13B.bdf 7x13B.bdf 7x14B.bdf 8x13B.bdf 9x15B.bdf 9x18B.bdf:
Complete (TARGET1 reached and checked)
6x13O.bdf 7x13O.bdf 8x13O.bdf
Complete (TARGET1 minus Hebrew and block graphics)
[None of the above fonts contains any character that has in Unicode
the East Asian Width Property "W" or "F" assigned. This way, the
desired combination of "half-width" and "full-width" glyphs can be
achieved easily. Most font mechanisms display a character that is not
covered in a font by using a glyph from another font that appears
later in a priority list, which can be arranged to be a "full-width"
font.]
The supplement package
http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts-asian.tar.gz
contains the following additional square fonts with Han characters for
East Asian users:
12x13ja.bdf:
Covers TARGET2, JIS X 0208, Hangul, and a few more. This font is
primarily intended to provide Japanese full-width Hiragana,
Katakana, and Kanji for applications that take the remaining
("halfwidth") characters from 6x13.bdf. The Greek lowercase
characters in it are still a bit ugly and will need some work.
18x18ja.bdf:
Covers all JIS X 0208, JIS X 0212, GB 2312-80, KS X 1001:1992,
ISO 8859-1,2,3,4,5,7,9,10,15, CP437, CP850 and CP1252 characters,
plus a few more, where priority was given to Japanese han style
variants. This font should have everything needed to cover the
full ISO-2022-JP-2 (RFC 1554) repertoire. This font is primarily
intended to provide Japanese full-width Hiragana, Katakana, and
Kanji for applications that take the remaining ("halfwidth")
characters from 9x18.bdf.
18x18ko.bdf:
Covers the same repertoire as 18x18ja plus full coverage of all
Hangul syllables and priority was given to Hanja glyphs in the
unified CJK area as they are used for writing Korean.
The 9x18 and 6x12 fonts are recommended for use with overstriking
combining characters.
Bug reports, suggestions for improvement, and especially contributed
extensions are very welcome!
INSTALLATION
------------
You install the fonts under Unix roughly like this (details depending
on your system of course):
System-wide installation (root access required):
cd submission/
make
su
mv -b *.pcf.gz /usr/lib/X11/fonts/misc/
cd /usr/lib/X11/fonts/misc/
mkfontdir
xset fp rehash
Alternative: Installation in your private user directory:
cd submission/
make
mkdir -p ~/local/lib/X11/fonts/
mv *.pcf.gz ~/local/lib/X11/fonts/
cd ~/local/lib/X11/fonts/
mkfontdir
xset +fp ~/local/lib/X11/fonts (put this last line also in ~/.xinitrc)
Now you can have a look at say the 6x13 font with the command
xfd -fn '-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1'
If you want to have short names for the Unicode fonts, you can also
append the fonts.alias file to that in the directory where you install
the fonts, call "mkfontdir" and "xset fp rehash" again, and then you
can also write
xfd -fn 6x13U
Note: If you use an old version of xfontsel, you might notice that it
treats every font that contains characters >0x00ff as a Japanese JIS
font and therefore selects inappropriate sample characters for display
of ISO 10646-1 fonts. An updated xfontsel version with this bug fixed
comes with XFree86 4.0 / X11R6.8 or newer.
If you use the Exceed X server on Microsoft Windows, then you will
have to convert the BDF files into Microsoft FON files using the
"Compile Fonts" function of Exceed xconfig. See the file exceed.txt
for more information.
There is one significant efficiency problem that X11R6 has with the
sparsely populated ISO10646-1 fonts. X11 transmits and allocates 12
bytes with the XFontStruct data structure for the difference between
the lowest and the highest code value found in a font, no matter
whether the code positions in between are used for characters or not.
Even a tiny font that contains only two glyphs at positions 0x0000 and
0xfffd causes 12 bytes * 65534 codes = 786 kbytes to be requested and
stored by the client. Since all the ISO10646-1 BDF files provided in
this package contain characters in the U+00xx (ASCII) and U+ffxx
(ligatures, etc.) range, all of them would result in 786 kbyte large
XCharStruct arrays in the per_char array of the corresponding
XFontStruct (even for CharCell fonts!) when loaded by an X client.
Until this problem is fixed by extending the X11 font protocol and
implementation, non-CJK ISO10646-1 fonts that lack the (anyway not
very interesting) characters above U+31FF seem to be the best
compromise. The bdftruncate.pl program in this package can be used to
deactivate any glyphs above a threshold code value in BDF files. This
way, we get relatively memory-economic ISO10646-1 fonts that cause
"only" 150 kbyte large XCharStruct arrays to be allocated. The
deactivated glyphs are still present in the BDF files, but with an
encoding value of -1 that causes them to be ignored.
The ISO10646-1 fonts can not only be used directly by Unicode aware
software, they can also be used to create any 8-bit font. The
ucs2any.pl Perl script converts a ISO10646-1 BDF font into a BDF font
file with some different encoding. For instance the command
perl ucs2any.pl 6x13.bdf MAPPINGS/8859-7.TXT ISO8859-7
will generate the file 6x13-ISO8859-7.bdf according to the 8859-7.TXT
Latin/Greek mapping table, which available from
<ftp://ftp.unicode.org/Public/MAPPINGS/>. [The shell script
./map_fonts automatically generates a subdirectory derived-fonts/ with
many *.bdf and *.pcf.gz 8-bit versions of all the
-misc-fixed-*-iso10646-1 fonts.]
When you do a "make" in the submission/ subdirectory as suggested in
the installation instructions above, this will generate exactly the
set of fonts that have been submitted to the XFree86 project for
inclusion into XFree86 4.0. These consists of all the ISO10646-1 fonts
processed with "bdftruncate.pl U+3200" plus a selected set of derived
8-bit fonts generated with ucs2any.pl.
Every font comes with a *.repertoire-utf8 file that lists all the
characters in this font.
CONTRIBUTING
------------
If you want to help me in extending or improving the fonts, or if you
want to start your own ISO 10646-1 font project, you will have to edit
BDF font files. This is most comfortably done with the gbdfed font
editor (version 1.3 or higher), which is available from
http://crl.nmsu.edu/~mleisher/gbdfed.html
Once you are familiar with gbdfed, you will notice that it is no
problem to design up to 100 nice characters per hour (even more if
only placing accents is involved).
Information about other X11 font tools and Unicode fonts for X11 in
general can be found on
http://www.cl.cam.ac.uk/~mgk25/ucs-fonts.html
The latest version of this package is available from
http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts.tar.gz
If you want to contribute, then get the very latest version of this
package, check which glyphs are still missing or inappropriate for
your needs, and send me whatever you had the time to add and fix. Just
email me the extended BDF-files back, or even better, send me a patch
file of what you changed. The best way of preparing a patch file is
./touch_id newfile.bdf
diff -d -u -F STARTCHAR oldfile.bdf newfile.bdf >file.diff
which ensures that the patch file preserves information about which
exact version you worked on and what character each "hunk" changes.
I will try to update this packet on a daily basis. By sending me
extensions to these fonts, you agree that the resulting improved font
files will remain in the public domain for everyone's free use. Always
make sure to load the very latest version of the package immediately
before your start, and send me your results as soon as you are done,
in order to avoid revision overlaps with other contributors.
Please try to be careful with the glyphs you generate:
- Always look first at existing similar characters in order to
preserve a consistent look and feel for the entire font and
within the font family. For block graphics characters and geometric
symbols, take care of correct alignment.
- Read issues.txt, which contains some design hints for certain
characters.
- All characters of CharCell (C) fonts must strictly fit into
the pixel matrix and absolutely no out-of-box ink is allowed.
- The character cells will be displayed directly next to each other,
without any additional pixels in between. Therefore, always make
sure that at least the rightmost pixel column remains white, as
otherwise letters will stick together, except of course for
characters -- like Arabic or block graphics -- that are supposed to
stick together.
- Place accents as low as possible on the Latin characters.
- Try to keep the shape of accents consistent among each other and
with the combining characters in the U+03xx range.
- Use gbdfed only to edit the BDF file directly and do not import
the font that you want to edit from the X server. Use gbdfed 1.3
or higher.
- The glyph names should be the Adobe names for Unicode characters
defined at
http://www.adobe.com/devnet/opentype/archives/glyph.html
which gbdfed can set automatically. To make the Edit/Rename Glyphs/
Adobe Names function work, you have to download the file
http://www.adobe.com/devnet/opentype/archives/glyphlist.txt
and configure its location either in Edit/Preferences/Editing Options/
Adobe Glyph List, or as "adobe_name_file" in "~/.gbdfed".
- Be careful to not change the FONTBOUNDINGBOX box accidentally in
a patch.
You should have a copy of the ISO 10646 standard
ISO/IEC 10646:2003, Information technology -- Universal
Multiple-Octet Coded Character Set (UCS),
International Organization for Standardization, Geneva, 2003.
http://standards.iso.org/ittf/PubliclyAvailableStandards/
and/or the Unicode 5.0 book:
The Unicode Consortium: The Unicode Standard, Version 5.0,
Reading, MA, Addison-Wesley, 2006,
ISBN 9780321480910.
http://www.amazon.com/exec/obidos/ASIN/0321480910/mgk25
All these fonts are from time to time resubmitted to the X.Org
project, XFree86 (they have been in there since XFree86 4.0), and to
other X server developers for inclusion into their normal X11
distributions.
Starting with XFree86 4.0, xterm has included UTF-8 support. This
version is also available from
http://dickey.his.com/xterm/xterm.html
Please make the developer of your favourite software aware of the
UTF-8 definition in RFC 2279 and of the existence of this font
collection. For more information on how to use UTF-8, please check out
http://www.cl.cam.ac.uk/~mgk25/unicode.html
ftp://ftp.ilog.fr/pub/Users/haible/utf8/Unicode-HOWTO.html
where you will also find information on joining the
linux-utf8@nl.linux.org mailing list.
A number of UTF-8 example text files can be found in the examples/
subdirectory or on
http://www.cl.cam.ac.uk/~mgk25/ucs/examples/

72
fonts/README.md Normal file
View File

@ -0,0 +1,72 @@
## Provided fonts
These are BDF fonts, a simple bitmap font-format that can be created
by many font tools. Given that these are bitmap fonts, they will look good on
very low resolution screens such as the LED displays.
Fonts in this directory (except tom-thumb.bdf) are public domain (see the [README](./README)) and
help you to get started with the font support in the API or the `text-util`
from the utils/ directory.
Tom-Thumb.bdf is included in this directory under [MIT license](http://vt100.tarunz.org/LICENSE). Tom-thumb.bdf was created by [@robey](http://twitter.com/robey) and originally published at https://robey.lag.net/2010/01/23/tiny-monospace-font.html
The texguire-27.bdf font was created using the [otf2bdf] tool from the TeX Gyre font.
```
otf2bdf -v -o texgyre-27.bdf -r 72 -p 27 texgyreadventor-regular.otf
```
## Create your own
Fonts are in a human readable and editbable `*.bdf` format, but unless you
like reading and writing pixels in hex, generating them is probably easier :)
You can use any font-editor to generate a BDF font or use the conversion
tool [otf2bdf] to create one from some other font format.
Here is an example how you could create a 30pixel high BDF font from some
TrueType font:
```bash
otf2bdf -v -o myfont.bdf -r 72 -p 30 /path/to/font-Bold.ttf
```
## Getting otf2bdf
Installing the tool should be fairly straight-foward
```
sudo apt-get install otf2bdf
```
## Compiling otf2bdf
If you like to compile otf2bdf, you might notice that the configure script
uses some old way of getting the freetype configuration. There does not seem
to be much activity on the mature code, so let's patch that first:
```
sudo apt-get install -y libfreetype6-dev pkg-config autoconf
git clone https://github.com/jirutka/otf2bdf.git # check it out
cd otf2bdf
patch -p1 <<"EOF"
--- a/configure.in
+++ b/configure.in
@@ -5,8 +5,8 @@ AC_INIT(otf2bdf.c)
AC_PROG_CC
OLDLIBS=$LIBS
-LIBS="$LIBS `freetype-config --libs`"
-CPPFLAGS="$CPPFLAGS `freetype-config --cflags`"
+LIBS="$LIBS `pkg-config freetype2 --libs`"
+CPPFLAGS="$CPPFLAGS `pkg-config freetype2 --cflags`"
AC_CHECK_LIB(freetype, FT_Init_FreeType, LIBS="$LIBS -lfreetype",[
AC_MSG_ERROR([Can't find Freetype library! Compile FreeType first.])])
AC_SUBST(LIBS)
EOF
autoconf # rebuild configure script
./configure # run configure
make # build the software
sudo make install # install it
```
[otf2bdf]: https://github.com/jirutka/otf2bdf

22736
fonts/clR6x12.bdf Normal file

File diff suppressed because it is too large Load Diff

BIN
fonts/clR6x12.pbm Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
fonts/clR6x12.pil Normal file

Binary file not shown.

32869
fonts/helvR12.bdf Normal file

File diff suppressed because it is too large Load Diff

BIN
fonts/helvR12.pbm Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

BIN
fonts/helvR12.pil Normal file

Binary file not shown.

30577
fonts/texgyre-27.bdf Normal file

File diff suppressed because it is too large Load Diff

BIN
fonts/texgyre-27.pbm Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

BIN
fonts/texgyre-27.pil Normal file

Binary file not shown.

2365
fonts/tom-thumb.bdf Normal file

File diff suppressed because it is too large Load Diff

BIN
fonts/tom-thumb.pbm Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 442 B

BIN
fonts/tom-thumb.pil Normal file

Binary file not shown.

View File

@ -44,9 +44,8 @@ def process_file(path, filename):
for row in new_csv: for row in new_csv:
default_csv.writerow(row) default_csv.writerow(row)
def ShutdownPI():
print('SHUTTING DOWN')
os.system("sudo shutdown now")
app = Flask(__name__) app = Flask(__name__)
@app.route("/", methods=['GET', 'POST']) @app.route("/", methods=['GET', 'POST'])
@ -144,7 +143,7 @@ def matrix():
#child.sendline('sent from server') #child.sendline('sent from server')
#process = Popen(["sudo", "-E", "python3", "stockTicker.py"], stdin=PIPE, stdout=PIPE, stderr=PIPE) #process = Popen(["sudo", "-E", "python3", "stockTicker.py"], stdin=PIPE, stdout=PIPE, stderr=PIPE)
child.sendline('R') child.sendline('S')
print('back in flask') print('back in flask')
@ -163,7 +162,7 @@ def matrix():
pass pass
try: try:
LastCommand = 'shutdown' LastCommand = 'shutdown'
ShutdownPI() os.system("sudo shutdown now")
except: except:
print("couldn't shutdown") print("couldn't shutdown")
return hello() return hello()

View File

@ -58,7 +58,7 @@ class StockTicker():
options.hardware_mapping = 'adafruit-hat' # If you have an Adafruit HAT: 'adafruit-hat' options.hardware_mapping = 'adafruit-hat' # If you have an Adafruit HAT: 'adafruit-hat'
options.gpio_slowdown = 3 options.gpio_slowdown = 3
self.matrix = RGBMatrix(options = options) self.matrix = RGBMatrix(options = options)
self.finnhubClient = finnhub.Client(api_key=self.SandboxApiKey) self.finnhubClient = finnhub.Client(api_key=self.ApiKey)
def openImage(self, image_file): def openImage(self, image_file):
image = Image.open(image_file) image = Image.open(image_file)
@ -195,7 +195,7 @@ class StockTicker():
#Draw Ticker, current and change onto one image #Draw Ticker, current and change onto one image
def textToImage(self, TICKER, CURRENT, CHANGE, ARROW): def textToImage(self, TICKER, CURRENT, CHANGE, ARROW):
font = ImageFont.load("7x14.pil") font = ImageFont.load("/home/pi/Desktop/stock_ticker/fonts/10x20.pil")
img = Image.new('RGB', (150, 32)) img = Image.new('RGB', (150, 32))
d = ImageDraw.Draw(img) d = ImageDraw.Draw(img)
@ -226,10 +226,7 @@ class StockTicker():
x_offset += im.size[0] x_offset += im.size[0]
return new_im return new_im
#Display the image onto the matrix
def displayImage(self, IMAGE):
print('k')
return 0
#Get current prices and day prices for the ticker then format the response into an array #Get current prices and day prices for the ticker then format the response into an array
def getStockPrices(self, SYMBOLS): def getStockPrices(self, SYMBOLS):
@ -274,7 +271,7 @@ class StockTicker():
self.matrix.SetPixel(x , y , 0,0,0) self.matrix.SetPixel(x , y , 0,0,0)
#Connect all the pieces togeather creating 1 long final stock image #Connect all the pieces togeather creating 1 long final stock image
def GetfullStockImage(self): def getFullStockImage(self):
self.ApiCalledError = False self.ApiCalledError = False
self.ListStocks = [] self.ListStocks = []
@ -319,7 +316,7 @@ class StockTicker():
def displayMatrix(self): def displayMatrix(self):
#os.system("sudo ./demo -D1 final.ppm -t " + str(displayTime) +" -m "+ str(speedDisplay) +" --led-gpio-mapping=adafruit-hat --led-rows=32 --led-cols=256") #os.system("sudo ./demo -D1 final.ppm -t " + str(displayTime) +" -m "+ str(speedDisplay) +" --led-gpio-mapping=adafruit-hat --led-rows=32 --led-cols=256")
#os.system("sudo ./demo -D1 final.ppm -t " + str(self.displayTime) +" -m "+ str(self.speedDisplay) +" --led-gpio-mapping=adafruit-hat --led-rows=64 --led-cols=64 --led-slowdown-gpio=4 ") #os.system("sudo ./demo -D1 final.ppm -t " + str(self.displayTime) +" -m "+ str(self.speedDisplay) +" --led-gpio-mapping=adafruit-hat --led-rows=64 --led-cols=64 --led-slowdown-gpio=4 ")
self.ScrollImageTransition(['final.ppm', 'final.ppm'], offset_x = 0, offset_y = 0, delay = 0.05) self.ScrollImageTransition(['final.ppm', 'final.ppm'], offset_x = 0, offset_y = 0, delay = 0.02)
#Retrieve symbols from the CSV file #Retrieve symbols from the CSV file
def GetSymbols(self): def GetSymbols(self):
@ -379,12 +376,15 @@ if __name__ == '__main__':
#print(sys.stdin.readlines()) #print(sys.stdin.readlines())
stock_ticker = StockTicker() stock_ticker = StockTicker()
stock_ticker.GetSymbols()
stock_ticker.getFullStockImage()
stock_ticker.displayMatrix()
while True: while True:
msg = getInput() msg = getInput()
if msg == 'R': if msg == 'S':
stock_ticker.getFullStockImage()
stock_ticker.displayMatrix() stock_ticker.displayMatrix()