# Helper macroses for fonts packages in ALT Linux.
# According to ALT Linux font policy: http://www.altlinux.org/FontsPolicy
# 12.02.2006, 12.01.2007 Vitaly Lipatov <lav@etersoft.ru>
# 03.09.2007 Valery V. Inozemtsev <shrek@altlinux.ru>
# 05.09.2007 Vitaly Lipatov <lav@etersoft.ru>
# 05.02.2022 Igor Vlasenko <viy@altlinux.org>

# TODO: split common parts

%_fontpathdir %_sysconfdir/X11/fontpath.d
%_fontsdir %_datadir/fonts
%_bitmapfontsdir %_fontsdir/bitmap
%_type1fontsdir %_fontsdir/type1
%_ttffontsdir %_fontsdir/ttf
%_otffontsdir %_fontsdir/otf

#############################################################
# fontconfig integration (based on Fedora macros)
#############################################################

# Master fontconfig configuration directory
# Only needed to avoid a circular directory dependency with the fontconfig
# package — you should *not* use this
%_fontconfig_masterdir   %_sysconfdir/fonts

# Fontconfig directory for active configuration snippets
%_fontconfig_confdir     %_sysconfdir/fonts/conf.d

# Fontconfig configuration template directory
# Templates are activated by symlinking in _fontconfig_confdir
%_fontconfig_templatedir %_datadir/fontconfig/conf.avail


# for use in %%install section (use with name of font family)
# %%build helpers
#############################################################
%ttf_fonts_install() \
%global __currentfontsdir %_ttffontsdir/%{1} \
mkdir -p %buildroot%__currentfontsdir \
cat <<EOF >%{1}.files \
%%dir %__currentfontsdir \
%__currentfontsdir/fonts.scale \
%__currentfontsdir/fonts.dir \
%_fontpathdir/ttf-%{1}:pri=50 \
EOF\
install -p -m644 *.ttf %buildroot%__currentfontsdir/ \
find %buildroot%__currentfontsdir/ -name "*.ttf" | sed -e 's|%buildroot\\(.*\\)|"\\1"|g' >>%{1}.files \
%_bindir/mkfontscale %buildroot%__currentfontsdir/ \
ln %buildroot%__currentfontsdir/fonts.scale %buildroot%__currentfontsdir/fonts.dir \
mkdir -p %buildroot%_fontpathdir \
ln -s ../../..%__currentfontsdir %buildroot%_fontpathdir/ttf-%{1}:pri=50 \
%nil

#############################################################
%otf_fonts_install() \
%global __currentfontsdir %_otffontsdir/%{1} \
mkdir -p %buildroot%__currentfontsdir \
cat <<EOF >%{1}.files \
%%dir %__currentfontsdir \
%__currentfontsdir/fonts.scale \
%__currentfontsdir/fonts.dir \
%_fontpathdir/otf-%{1}:pri=50 \
EOF\
install -p -m644 *.otf %buildroot%__currentfontsdir/ \
find %buildroot%__currentfontsdir/ -name "*.otf" | sed -e 's|%buildroot\\(.*\\)|"\\1"|g' >>%{1}.files \
%_bindir/mkfontscale %buildroot%__currentfontsdir \
ln %buildroot%__currentfontsdir/fonts.scale %buildroot%__currentfontsdir/fonts.dir \
mkdir -p %buildroot%_fontpathdir \
ln -s ../../..%__currentfontsdir %buildroot%_fontpathdir/otf-%{1}:pri=50 \
%nil


#############################################################
%type1_fonts_install() \
%global __currentfontsdir %_type1fontsdir/%{1} \
mkdir -p %buildroot%__currentfontsdir \
cat <<EOF >%{1}.files \
%%dir %__currentfontsdir \
%__currentfontsdir/fonts.scale \
%__currentfontsdir/fonts.dir \
%_fontpathdir/type1-%{1}:pri=40 \
EOF\
find -name "*.afm" -exec install -p -m644 -t %buildroot%__currentfontsdir {} \\; \
find -name "*.pfb" -exec install -p -m644 -t %buildroot%__currentfontsdir {} \\; \
find -name "*.pfa" -exec install -p -m644 -t %buildroot%__currentfontsdir {} \\; \
find %buildroot%__currentfontsdir/ -name "*.*" | sed -e 's|%buildroot\\(.*\\)|"\\1"|g' >>%{1}.files \
mkfontscale %buildroot%__currentfontsdir \
ln %buildroot%__currentfontsdir/fonts.scale %buildroot%__currentfontsdir/fonts.dir \
mkdir -p %buildroot%_fontpathdir \
ln -s ../../..%__currentfontsdir %buildroot%_fontpathdir/type1-%{1}:pri=40 \
%nil


#############################################################
%bitmap_fonts_install() \
%global __currentfontsdir %_bitmapfontsdir/%{1} \
mkdir -p %buildroot%__currentfontsdir \
cat <<EOF >%{1}.files \
%%dir %__currentfontsdir \
%__currentfontsdir/fonts.dir \
%_fontpathdir/bitmap-%{1}:pri=20 \
EOF\
install -p -m644 *.pcf.gz %buildroot%__currentfontsdir/ \
find %buildroot%__currentfontsdir/ -name "*.pcf.gz" | sed -e 's|%buildroot\\(.*\\)|"\\1"|g' >>%{1}.files \
%_bindir/mkfontdir %buildroot%__currentfontsdir \
mkdir -p %buildroot%_fontpathdir \
ln -s ../../..%__currentfontsdir %buildroot%_fontpathdir/bitmap-%{1}:pri=20 \
%nil

# use %%files -f %fname.files in your spec

