1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-19 00:13:33 +00:00
freebsd-ports/Mk/Uses/fonts.mk
Tobias C. Berner aa25396790 framework: cleanup conditional-indentations in Mk/
Run Tools/scripts/indent_make_if.pl on all of Mk.

These white space changes contribute greatly to the readability of those files.
As we have a version control system, finding out the reasons for the changes
prior to these white space changes is still easily possible

Differential Revision:	https://reviews.freebsd.org/D35024
Reviewed by:		portmgr (rene, bapt)
2022-04-24 12:00:20 +02:00

75 lines
2.8 KiB
Makefile

# handle fonts
# Feature: fonts
# Usage: USES=fonts
# Valid ARGS: fc, fontsdir, fcfontsdir, none (empty means fcfontsdir)
# fc Add @fc ${FONTSDIR} to PLIST_FILES
# fontsdir Add @fontsdir ${FONTSDIR} to PLIST_FILES
# fcfontsdir Add @fcfontsdir ${FONTSDIR} to PLIST_FILES
# none No special handling of ${FONTSDIR} in PLIST_FILES
# Ports should use USES=fonts with an argument only when necessary.
# By default, @fcfontsdir ${FONTSDIR} is added and it updates font
# information cache file of fontconfig library, and XLFD entries
# in fonts.dir and fonts.scale file, which are directly used by
# X server and xfs font server.
#
# Xorg supports TrueType and OpenType via either of the two font
# subsystems. @fcfontsdir is designed to update configuration files for
# both of them to register a font file. Specifically, fc-cache and
# mkfontdir utilities are used, respectively.
#
# Ports to install fonts with which mkfontdir or fc-cache do not work well
# should use :fc and/or :fontsdir argument. fc-cache and mkfontdir
# get information such as fontname, encoding, etc. from a font file.
# However, mkfontdir does not understand information in some scalable
# fonts. Typical examples are TrueType Collection format and
# CJK (Chinese, Japanese, and Korean) TrueType font. The former is
# a format which contains multiple fonts in a single file.
# While Xorg supports it, mkfontdir does not generate correct
# fonts.dir entries from a TTC font. CJK fonts often require
# modifiers in a XFLD entry to enable special feature which mkfontdir
# does not support, either.
#
# Note that ports which do not want mkfontdir need to use
# a separate FONTSDIR, not shared ones such as misc or TTF.
# This is because other ports using @fcfontsdir or @fontsdir
# update fonts.dir in these font directories upon installation
# and deinstallation. mkfontdir will overwrite manually-added entries.
.if !defined(_INCLUDE_USES_FONTS_MK)
_INCLUDE_USES_FONTS_MK= yes
. if empty(fonts_ARGS)
fonts_ARGS= fontsdir
. endif
. if !empty(fonts_ARGS:Nfc:Nfontsdir:Nnone)
IGNORE= USES=fonts - invalid ARGS (${fonts_ARGS})
. endif
. if !empty(fonts_ARGS:Mfc) || !empty(fonts_ARGS:Mfontsdir)
RUN_DEPENDS+= fc-cache:x11-fonts/fontconfig
. endif
. if !empty(fonts_ARGS:Mfontsdir)
RUN_DEPENDS+= mkfontscale:x11-fonts/mkfontscale
. endif
FONTNAME?= ${PORTNAME}
FONTSDIR?= ${PREFIX}/share/fonts/${FONTNAME}
. if !empty(fonts_ARGS:Mfontsdir)
PLIST_FILES+= "@${fonts_ARGS} ${FONTSDIR}"
. endif
. if defined(FONTPATHSPEC) && !empty(FONTPATHSPEC)
FONTPATHD?= ${LOCALBASE}/etc/X11/fontpath.d
PLIST_FILES+= "${FONTPATHD}/${FONTPATHSPEC}"
_USES_install+= 690:fonts-install-fontpathd
fonts-install-fontpathd:
@${MKDIR} ${STAGEDIR}${FONTPATHD}
${RLN} ${STAGEDIR}${FONTSDIR} ${STAGEDIR}${FONTPATHD}/${FONTPATHSPEC}
. endif
SUB_LIST+= FONTSDIR="${FONTSDIR}"
PLIST_SUB+= FONTSDIR="${FONTSDIR:S,^${PREFIX}/,,}"
.endif