Hello community,

here is the log from the commit of package int10h-oldschoolpc-fonts for 
openSUSE:Factory checked in at 2019-01-24 14:14:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/int10h-oldschoolpc-fonts (Old)
 and      /work/SRC/openSUSE:Factory/.int10h-oldschoolpc-fonts.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "int10h-oldschoolpc-fonts"

Thu Jan 24 14:14:46 2019 rev:2 rq:667895 version:1.0

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/int10h-oldschoolpc-fonts/int10h-oldschoolpc-fonts.changes
        2016-12-02 16:41:07.000000000 +0100
+++ 
/work/SRC/openSUSE:Factory/.int10h-oldschoolpc-fonts.new.28833/int10h-oldschoolpc-fonts.changes
     2019-01-24 14:14:48.415265988 +0100
@@ -1,0 +2,6 @@
+Tue Jan 22 23:14:06 UTC 2019 - Jan Engelhardt <[email protected]>
+
+- Expand font scaling notes and separate out to extra file
+  (there is a lot to talk about).
+
+-------------------------------------------------------------------

New:
----
  ratio.txt

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ int10h-oldschoolpc-fonts.spec ++++++
--- /var/tmp/diff_new_pack.9u7pxJ/_old  2019-01-24 14:14:48.827265512 +0100
+++ /var/tmp/diff_new_pack.9u7pxJ/_new  2019-01-24 14:14:48.827265512 +0100
@@ -1,7 +1,7 @@
 #
 # 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
 # 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)
 # 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 @@
 Summary:        Remakes of old computer hardware fonts
 License:        CC-BY-SA-4.0
 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
+Source8:        ratio.txt
 BuildRequires:  fontpackages-devel
 BuildRequires:  unzip
 %reconfigure_fonts_prereq
@@ -32,18 +33,19 @@
 BuildArch:      noarch
 
 %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
 (plus straight bitmap versions). The main focus is on hardware
 character sets: the kind that's located in a ROM and shown by default
 when working in text (or graphics) mode.
 
-[These fonts are not corrected for the different pixel ratios used by
-the eponymous historic hardware; you need to manually do this with e.g.
-`xterm -fa "ATI 8x16:matrix=1 0 0 1.35"`]
+[ Classic hardware text mode stretches the fonts to fit the screen!
+To recreate the same visuals of that, a stretch factor must be
+applied. For details, see ratio.txt inside the package. ]
 
 %prep
 %setup -Tcqa0
+cp "%_sourcedir/ratio.txt" .
 
 %build
 iconv -f cp437 -t utf-8 <README.NFO | perl -i -pe 's{\r}{}g' >readme.txt
@@ -58,7 +60,7 @@
 
 %files
 %defattr(-, root,root)
-%doc readme.txt license.txt
+%doc readme.txt license.txt ratio.txt
 %_ttfontsdir/
 
 %changelog

++++++ ratio.txt ++++++
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.


Reply via email to