forked from pool/int10h-oldschoolpc-fonts
- Expand font scaling notes and separate out to extra file
OBS-URL: https://build.opensuse.org/package/show/M17N:fonts/int10h-oldschoolpc-fonts?expand=0&rev=3
This commit is contained in:
parent
35fb7b9c58
commit
6ff63d7c3c
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jan 22 23:14:06 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
|
||||||
|
|
||||||
|
- Expand font scaling notes and separate out to extra file
|
||||||
|
(there is a lot to talk about).
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Oct 28 17:09:15 UTC 2016 - jengelh@inai.de
|
Fri Oct 28 17:09:15 UTC 2016 - jengelh@inai.de
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package int10h-oldschoolpc-fonts
|
# spec file for package int10h-oldschoolpc-fonts
|
||||||
#
|
#
|
||||||
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -12,7 +12,7 @@
|
|||||||
# license that conforms to the Open Source Definition (Version 1.9)
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
# published by the Open Source Initiative.
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
@ -22,9 +22,10 @@ Release: 0
|
|||||||
Summary: Remakes of old computer hardware fonts
|
Summary: Remakes of old computer hardware fonts
|
||||||
License: CC-BY-SA-4.0
|
License: CC-BY-SA-4.0
|
||||||
Group: System/X11/Fonts
|
Group: System/X11/Fonts
|
||||||
Url: http://int10h.org/oldschool-pc-fonts/
|
URL: http://int10h.org/oldschool-pc-fonts/
|
||||||
|
|
||||||
Source: http://int10h.org/oldschool-pc-fonts/download/ultimate_oldschool_pc_font_pack_v1.0.zip
|
Source: http://int10h.org/oldschool-pc-fonts/download/ultimate_oldschool_pc_font_pack_v1.0.zip
|
||||||
|
Source8: ratio.txt
|
||||||
BuildRequires: fontpackages-devel
|
BuildRequires: fontpackages-devel
|
||||||
BuildRequires: unzip
|
BuildRequires: unzip
|
||||||
%reconfigure_fonts_prereq
|
%reconfigure_fonts_prereq
|
||||||
@ -32,18 +33,19 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
This fontpack contains pixel-accurate remakes of various type styles
|
This fontpack contains remakes of various type styles
|
||||||
from text-mode era PCs — in modern Unicode-compatible TrueType form
|
from text-mode era PCs — in modern Unicode-compatible TrueType form
|
||||||
(plus straight bitmap versions). The main focus is on hardware
|
(plus straight bitmap versions). The main focus is on hardware
|
||||||
character sets: the kind that's located in a ROM and shown by default
|
character sets: the kind that's located in a ROM and shown by default
|
||||||
when working in text (or graphics) mode.
|
when working in text (or graphics) mode.
|
||||||
|
|
||||||
[These fonts are not corrected for the different pixel ratios used by
|
[ Classic hardware text mode stretches the fonts to fit the screen!
|
||||||
the eponymous historic hardware; you need to manually do this with e.g.
|
To recreate the same visuals of that, a stretch factor must be
|
||||||
`xterm -fa "ATI 8x16:matrix=1 0 0 1.35"`]
|
applied. For details, see ratio.txt inside the package. ]
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -Tcqa0
|
%setup -Tcqa0
|
||||||
|
cp "%_sourcedir/ratio.txt" .
|
||||||
|
|
||||||
%build
|
%build
|
||||||
iconv -f cp437 -t utf-8 <README.NFO | perl -i -pe 's{\r}{}g' >readme.txt
|
iconv -f cp437 -t utf-8 <README.NFO | perl -i -pe 's{\r}{}g' >readme.txt
|
||||||
@ -58,7 +60,7 @@ install -pm 0644 */*.ttf "$c/"
|
|||||||
|
|
||||||
%files
|
%files
|
||||||
%defattr(-, root,root)
|
%defattr(-, root,root)
|
||||||
%doc readme.txt license.txt
|
%doc readme.txt license.txt ratio.txt
|
||||||
%_ttfontsdir/
|
%_ttfontsdir/
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
44
ratio.txt
Normal file
44
ratio.txt
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
In classic IBM PC text mode, the graphics card stretches the font
|
||||||
|
such that it fills the screen.
|
||||||
|
|
||||||
|
A 9x16 font over 80x25 columns is displayed as a 720x400 image.
|
||||||
|
Assuming a 4:3 monitor as typically was present in the days, this
|
||||||
|
leads to a pixel aspect ratio of 20:27.
|
||||||
|
|
||||||
|
Font size Image size aspect decimal inverse
|
||||||
|
------------------------------------------------------------
|
||||||
|
8x8 640x200 5:12 0.42 2.40
|
||||||
|
8x14 640x350 35:48 0.73 1.37
|
||||||
|
8x16 640x400 5:6 0.83 1.20
|
||||||
|
9x16 720x400 20:27 0.74 1.35
|
||||||
|
|
||||||
|
To faithfully recreate the same visual look as such a monitor would
|
||||||
|
show, this aspect ratio needs to be applied when making use of the
|
||||||
|
font.
|
||||||
|
|
||||||
|
For cool-retro-term, there is a "Font Width" slider in the settings;
|
||||||
|
set it to 74%, 83%, or whatever is necessary. (Notice the pattern of
|
||||||
|
the "decimal" column of our table.)
|
||||||
|
|
||||||
|
For xterm, a fontconfig matrix can be specified like so:
|
||||||
|
|
||||||
|
xterm -fa "Px437 ATI 9x16:matrix=0.74 0 0 1"
|
||||||
|
xterm -fa "Px437 ATI 9x16:matrix=1 0 0 1.35"
|
||||||
|
|
||||||
|
One can either horizontally compress the glyphs, or vertically
|
||||||
|
stretch them to get to the result. The compress/stretch action
|
||||||
|
influences how many characters will be visible in a fullscreen
|
||||||
|
setting, so the basic font size may need to be adjusted.
|
||||||
|
|
||||||
|
xterm -fa "Px437 ATI 9x16:size=32:matrix=0.74 0 0 1"
|
||||||
|
xterm -fa "Px437 ATI 9x16:size=24:matrix=1 0 0 1.35"
|
||||||
|
|
||||||
|
produce an equivalent result.
|
||||||
|
|
||||||
|
Extra caveat: When using a matrix, you should also specify the -fd
|
||||||
|
parameter *and* specify the same matrix inside the -fd font
|
||||||
|
specification. Otherwise, CJK characters will be rendered in a
|
||||||
|
different size than the main characters. For a stretching matrix like
|
||||||
|
1/1.35, not specifying -fd and, as a result, having smaller CJK chars
|
||||||
|
is not as bad a problem as having bigger truncated CJK chars with a
|
||||||
|
compressing matrix like 0.74/1.
|
Loading…
Reference in New Issue
Block a user