Commit graph

28 commits

Author SHA1 Message Date
Russ Cox
933b98054f devdraw: use consistent mac-* prefix on macOS files
We were using osx- and cocoa- but it's not even OS X anymore.
2020-01-13 16:46:14 -05:00
Xiao-Yong
cc48e73a96 fontsrv: allow x11 hinting and disable autohint only (#254)
Some truetype fonts have good manual hinting.
Ignoring hinting makes the font render badly on low resolution screens.
This commit only disables the freetype autohinter, and allows hinting.
2020-01-13 11:02:13 -05:00
Dan Cross
fa325e9b42 Trivial changes: whitespace and modes.
Remote whitespace at the ends of lines.
Remove blank lines from the ends of files.
Change modes on source files so that they
are not executable.

Signed-off-by: Dan Cross <cross@gajendra.net>
2020-01-10 14:54:30 +00:00
Russ Cox
16d0081989 libdraw: redo default font construction to be hidpi-safe
If $font is not set, the default font is constructed from
font data linked into every libdraw binary. That process
was different from the usual openfont code, and so it was
not hidpi-aware, resulting in very tiny fonts out of the box
on hidpi systems, until users set $font.

Fix this by using openfont to construct the default font,
by recognizing the name *default* when looking for
font and subfont file contents. Then all the hidpi scaling
applies automatically.

As a side effect, the concept of a 'default subfont' is gone,
as are display->defaultsubfont, getdefont, and memgetdefont.
2018-11-16 00:03:24 -05:00
iru-
ed959cfba3 fontsrv: increase x11 font height scale (#111) 2018-11-14 00:01:04 -05:00
Xiao-Yong
c82e11b24e fontsrv: x11 uses FC_POSTSCRIPT_NAME (#174)
This makes fontsrv use the PostScript font names on X11.
The PostScript font names contains only alphanumeric and
hyphens.  This allows us to use the Font command in acme.
It also matches the font names used by fontsrv on macOS,
which has been using PostScript font names.
2018-11-13 23:13:15 -05:00
Xiao-Yong
2419c93438 fontsrv: disable font smoothing on osx (#196)
macOS Mojave version 10.14 starts to disable font smoothing.
We disable font smoothing for OSX_VERSION >= 101400 to match the
system default font rendering.
It also makes the font rendering on macOS similar to that on X11.
2018-11-13 23:09:59 -05:00
Fazlul Shahriar
48da9bd71d fontsrv: copy some fixes from OS X to X11
* Avoid allocating empty images by adding 1 to width/height. This was
  crashing fontsrv. The total width of the subfont image can be zero
  even if the characters are present in the font. For example, all the
  characters in x0300.bit (part of "Combining Diacritical Marks" Unicode
  block) have zero width.
* Make sure U+0000 is always present in the font, otherwise libdraw
  complains with: "stringwidth: bad character set for rune 0x0000 in ..."
* Use the same fallback glyph (pjw face) as OS X. This also fixes a bug
  where advance was set to the total width of subfont instead of the
  character.

Update #125 (most likely fixes the crash if in X11)

Change-Id: Icdc2b641b8b0c08644569006e91cf613b4d5477f
2018-10-05 23:38:31 +02:00
Igor Burago
df2d9ec9d1 fontsrv: omit box-drawing characters from line struts on macOS
For some fonts, using box-drawing characters in the representative
text for computing the line height results in it being uncomfortably
high. Replace them with accented capitals and tall lower-case letters
which lead to a more conservative increase in the line height.

Fixes #162.
2018-06-26 23:24:22 +02:00
Xiao-Yong Jin
a3ec102dc7 fontsrv: fix some memory leaks 2018-03-27 15:03:12 +02:00
Xiao-Yong Jin
96dc233091 fontsrv: enlarge drawing buffer for subfonts on macOS
Double the width returned by CTFontGetBoundingBox when drawing.
Add box drawing characters for determining the line height.
Call freememimage(1) for the character memimage.

Fixes #18.
Fixes #120.
Fixes #146.
2018-03-27 15:02:33 +02:00
Mechiel Lukkien
4ebaf18e92 fontsrv: skip only the surrogate pairs
fontsrv wasn't rendering fontawesome icons,
which uses the private use area around 0xf000.
2018-03-23 12:05:33 +01:00
Russ Cox
711336c348 fontsrv: avoid quote mapping on fonts with indistinguishable quotes
Fixes #86.

Change-Id: Id487219a0fcfdb68133fc81b11383365a1431c1c
Reviewed-on: https://plan9port-review.googlesource.com/2922
Reviewed-by: Russ Cox <rsc@swtch.com>
2017-06-19 13:58:51 +00:00
Russ Cox
c499ab911d fontsrv: do not try to look up surrogate pairs
Change-Id: Ib0a680e123ba02b41e1029e356543c24e8b4647e
Reviewed-on: https://plan9port-review.googlesource.com/1430
Reviewed-by: Russ Cox <rsc@swtch.com>
2016-01-22 11:52:32 +00:00
Russ Cox
775cb933ec fontsrv: use 64 chars per subfont instead of 256
Makes loading faster, and makes larger sizes not too wide.

Change-Id: I076c83fdb9577c1e596de45558f38ea93e3a2a31
Reviewed-on: https://plan9port-review.googlesource.com/1360
Reviewed-by: Russ Cox <rsc@swtch.com>
2015-08-27 00:36:32 +00:00
Russ Cox
3aca22118d fontsrv: fix x11 build
Change-Id: I60eca10d7749ec71dc2ffbb0fbde564a1b711fa1
Reviewed-on: https://plan9port-review.googlesource.com/1180
Reviewed-by: Russ Cox <rsc@swtch.com>
2015-02-18 14:46:24 +00:00
Russ Cox
32dc15fa62 fontsrv: use CoreText API on OS X
This gets us font fallback for free and avoids use of a
deprecated API that might go away some day.

Change-Id: I4b9b1a1ce3e6d98bfb407e3baea13f4adfe2c26a
Reviewed-on: https://plan9port-review.googlesource.com/1160
Reviewed-by: Russ Cox <rsc@swtch.com>
2015-02-17 05:00:09 +00:00
Ethan Burns
d67a3d3083 fontsrv: disable X11 hinting
Discussion at:
https://groups.google.com/d/topic/plan9port-dev/L7RVkXPmrdY/discussion
https://github.com/9fans/plan9port/pull/7

Change-Id: I4f3a6791436120388ad8798e519f5e8473dd9306
Reviewed-on: https://plan9port-review.googlesource.com/1095
2014-12-02 01:51:11 +00:00
David du Colombier
63002b3e5a fix gcc 4.8 warnings
LGTM=rsc
R=rsc
https://codereview.appspot.com/33240044
2014-03-03 22:30:34 +01:00
Alessandro Arzilli
cac1425c4a fontsrv: fix on X11 when X11H is not defined
R=rsc
CC=plan9port.codebot
https://codereview.appspot.com/7228044
2013-01-30 17:46:16 -08:00
Christian Kellermann
1a512ec048 fontsrv: fix build on OpenBSD 5.2
R=rsc
CC=plan9port.codebot
https://codereview.appspot.com/6850108
2012-12-11 12:45:45 -05:00
Russ Cox
09adcb0901 fontsrv: make single quotes look like quotes
R=rsc
https://codereview.appspot.com/6864051
2012-12-03 15:55:13 -05:00
Russ Cox
1785490baa fontsrv: scaled pjw
R=rsc
https://codereview.appspot.com/6854130
2012-12-01 00:35:06 -05:00
Russ Cox
e19fde3584 fontsrv: work around a few crashes
Probably not the right fix, but gets us going.

R=rsc
http://codereview.appspot.com/6782113
2012-11-25 22:45:32 -05:00
Yuval Pavel Zholkover
9c61127928 fontsrv: x11 support
R=rsc, 0intro
CC=plan9port.codebot
http://codereview.appspot.com/6739047
2012-10-21 16:49:13 -04:00
Russ Cox
5d03af6557 fix INSTALL warnings
R=rsc
http://codereview.appspot.com/6258060
2012-05-29 15:11:14 -04:00
Russ Cox
76f90e5145 fontsrv: add half-documented -s option 2009-07-08 22:23:58 -07:00
Russ Cox
9b4a2324d3 merge 2009-07-08 21:43:14 -07:00