aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/fontsrv
AgeCommit message (Collapse)AuthorFilesLines
2020-08-15fontsrv: fix handling of colored glyphs (emoji)Russ Cox1-5/+17
Drawing as white on black to produce a mask only works if the white on black is the inversion of black on white. Emoji that force use of specific colors don't respect that. Draw black on white and invert to mask separately.
2020-06-04fontsrv: fix compilation on X11 (#420)Gregor Best1-0/+1
2020-05-29fontsrv: scale f->originy to match f->height on x11dzklaim1-1/+1
Co-authored-by: dzklaim <smmoth.rp@gmail.com>
2020-05-29fontsrv: handle non-BMP runes on X11Russ Cox4-43/+44
Have to adjust algorithms to deal with much larger number of subfont files as well.
2020-01-13devdraw: use consistent mac-* prefix on macOS filesRuss Cox3-3/+0
We were using osx- and cocoa- but it's not even OS X anymore.
2020-01-13fontsrv: allow x11 hinting and disable autohint only (#254)Xiao-Yong1-1/+1
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-10Trivial changes: whitespace and modes.Dan Cross3-29/+28
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>
2018-11-16libdraw: redo default font construction to be hidpi-safeRuss Cox2-4/+0
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-14fontsrv: increase x11 font height scale (#111)iru-1-1/+1
2018-11-13fontsrv: x11 uses FC_POSTSCRIPT_NAME (#174)Xiao-Yong1-1/+1
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-13fontsrv: disable font smoothing on osx (#196)Xiao-Yong2-0/+4
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-10-05fontsrv: copy some fixes from OS X to X11Fazlul Shahriar1-38/+43
* 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-06-26fontsrv: omit box-drawing characters from line struts on macOSIgor Burago1-1/+1
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-03-27fontsrv: fix some memory leaksXiao-Yong Jin2-1/+4
2018-03-27fontsrv: enlarge drawing buffer for subfonts on macOSXiao-Yong Jin1-1/+3
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-23fontsrv: skip only the surrogate pairsMechiel Lukkien1-1/+1
fontsrv wasn't rendering fontawesome icons, which uses the private use area around 0xf000.
2017-06-19fontsrv: avoid quote mapping on fonts with indistinguishable quotesRuss Cox1-5/+19
Fixes #86. Change-Id: Id487219a0fcfdb68133fc81b11383365a1431c1c Reviewed-on: https://plan9port-review.googlesource.com/2922 Reviewed-by: Russ Cox <rsc@swtch.com>
2016-01-22fontsrv: do not try to look up surrogate pairsRuss Cox1-0/+2
Change-Id: Ib0a680e123ba02b41e1029e356543c24e8b4647e Reviewed-on: https://plan9port-review.googlesource.com/1430 Reviewed-by: Russ Cox <rsc@swtch.com>
2015-08-27fontsrv: use 64 chars per subfont instead of 256Russ Cox3-8/+13
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-02-18fontsrv: fix x11 buildRuss Cox1-1/+0
Change-Id: I60eca10d7749ec71dc2ffbb0fbde564a1b711fa1 Reviewed-on: https://plan9port-review.googlesource.com/1180 Reviewed-by: Russ Cox <rsc@swtch.com>
2015-02-17fontsrv: use CoreText API on OS XRuss Cox5-106/+143
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>
2014-12-02fontsrv: disable X11 hintingEthan Burns1-1/+1
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-03-03fix gcc 4.8 warningsDavid du Colombier1-1/+1
LGTM=rsc R=rsc https://codereview.appspot.com/33240044
2013-01-30fontsrv: fix on X11 when X11H is not definedAlessandro Arzilli1-1/+1
R=rsc CC=plan9port.codebot https://codereview.appspot.com/7228044
2012-12-11fontsrv: fix build on OpenBSD 5.2Christian Kellermann2-2/+7
R=rsc CC=plan9port.codebot https://codereview.appspot.com/6850108
2012-12-03fontsrv: make single quotes look like quotesRuss Cox1-3/+15
R=rsc https://codereview.appspot.com/6864051
2012-12-01fontsrv: scaled pjwRuss Cox5-11/+369
R=rsc https://codereview.appspot.com/6854130
2012-11-25fontsrv: work around a few crashesRuss Cox1-2/+6
Probably not the right fix, but gets us going. R=rsc http://codereview.appspot.com/6782113
2012-10-21fontsrv: x11 supportYuval Pavel Zholkover4-3/+274
R=rsc, 0intro CC=plan9port.codebot http://codereview.appspot.com/6739047
2012-05-29fix INSTALL warningsRuss Cox2-1/+2
R=rsc http://codereview.appspot.com/6258060
2009-07-08fontsrv: add half-documented -s optionRuss Cox1-4/+8
2009-07-08mergeRuss Cox6-0/+946