Ver Fonte

build: try to fix pdf

Xℹ Ruoyao há 3 anos atrás
pai
commit
3958da36d3
6 ficheiros alterados com 65 adições e 0 exclusões
  1. 1 0
      Makefile
  2. 9 0
      zh_CN/fetch_fonts.sh
  3. 9 0
      zh_CN/fix.sh
  4. 3 0
      zh_CN/fonts.md5
  5. 26 0
      zh_CN/fop.xml
  6. 17 0
      zh_CN/zh_CN-fonts.xsl

+ 1 - 0
Makefile

@@ -41,6 +41,7 @@ nochunks: booksrc
 
 pdf: booksrc
 	rm -rf $(MLANG)/book/pdf
+	pushd $(MLANG)/book; sh ../fetch_fonts.sh; popd
 	make -C $(MLANG)/book REV=$(REV) BASEDIR=pdf pdf
 
 booksrc: $(MBOOK_FILES) $(PATCHES) $(MLANG)/book/general.ent.orig

+ 9 - 0
zh_CN/fetch_fonts.sh

@@ -0,0 +1,9 @@
+#!/bin/sh
+
+mkdir fonts -pv
+
+if ! md5sum -c ../fonts.md5; then
+	awk '{print $2}' ../fonts.md5 | wget -c -i - \
+		-B "https://bf.mengyan1223.wang/lfs/" \
+		--directory-prefix=fonts
+fi

+ 9 - 0
zh_CN/fix.sh

@@ -99,3 +99,12 @@ $p
 # Apply lfs-l10n.xml patch, if it's not applied
 grep "Simplified Chinese" stylesheets/lfs-xsl/lfs-l10n.xml ||
 	patch -N -p1 -i ../patches/lfs-l10n.xml.patch
+
+cp -v ../zh_CN-fonts.xsl stylesheets/lfs-xsl/pdf/
+
+grep zh_CN-fonts stylesheets/lfs-xsl/pdf.xsl ||
+	sed '/<\/xsl:stylesheet>/i <xsl:include href="pdf/zh_CN-fonts.xsl"/>' \
+	    -i stylesheets/lfs-xsl/pdf.xsl
+
+grep '\-c fop.xml' Makefile ||
+	sed 's|fop -q|& -c ../fop.xml|' -i Makefile

+ 3 - 0
zh_CN/fonts.md5

@@ -0,0 +1,3 @@
+2bad5ad981b95bc289766c8fe0beb441  fonts/NotoSansCJK.ttc
+82636bb297505e8ce2796369b25576d3  fonts/NotoSerifCJK-Bold.ttc
+776e130c2253fdbfc9e9dd827c71e8cc  fonts/NotoSerifCJK-Regular.ttc

+ 26 - 0
zh_CN/fop.xml

@@ -0,0 +1,26 @@
+<fop version="1.0">
+	<renderers>
+		<renderer mime="application/pdf">
+			<fonts>
+				<font kerning="yes" embed-url="fonts/NotoSansCJK.ttc" sub-font="Noto Sans CJK SC">
+					<font-triplet name="Noto Sans CJK SC" style="normal" weight="normal" />
+				</font>
+				<font kerning="yes" embed-url="fonts/NotoSansCJK.ttc" sub-font="Noto Sans CJK SC Bold">
+					<font-triplet name="Noto Sans CJK SC" style="normal" weight="bold" />
+				</font>
+				<font kerning="yes" embed-url="fonts/NotoSansCJK.ttc" sub-font="Noto Sans Mono CJK SC">
+					<font-triplet name="Noto Sans Mono CJK SC" style="normal" weight="normal" />
+				</font>
+				<font kerning="yes" embed-url="fonts/NotoSansCJK.ttc" sub-font="Noto Sans Mono CJK SC Bold">
+					<font-triplet name="Noto Sans Mono CJK SC" style="normal" weight="bold" />
+				</font>
+				<font kerning="yes" embed-url="fonts/NotoSerifCJK-Regular.ttc" subfont="Noto Serif CJK SC">
+					<font-triplet name="Noto Serif CJK SC" style="normal" weight="normal" />
+				</font>
+				<font kerning="yes" embed-url="fonts/NotoSerifCJK-Bold.ttc" subfont="Noto Serif CJK SC Bold">
+					<font-triplet name="Noto Serif CJK SC" style="normal" weight="bold" />
+				</font>
+			</fonts>
+		</renderer>
+	</renderers>
+</fop>

+ 17 - 0
zh_CN/zh_CN-fonts.xsl

@@ -0,0 +1,17 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:xlink="http://www.w3.org/1999/xlink"
+                xmlns:fo="http://www.w3.org/1999/XSL/Format"
+                exclude-result-prefixes="xlink"
+                version="1.0">
+
+  <xsl:param name="body.font.family">Noto Serif CJK SC</xsl:param>
+  <xsl:param name="dingbat.font.family">Noto Serif CJK SC</xsl:param>
+  <xsl:param name="sans.font.family">Noto Sans CJK SC</xsl:param>
+  <xsl:param name="slide.font.family">Noto Sans CJK SC</xsl:param>
+  <xsl:param name="slide.title.font.family">Noto Sans CJK SC</xsl:param>
+  <xsl:param name="title.font.family">Noto Sans CJK SC</xsl:param>
+  <xsl:param name="monospace.font.family">Noto Sans Mono CJK SC</xsl:param>
+
+</xsl:stylesheet>