字体统一:建公共字体目录,全部改用开源可商用字体 (#6)
七个模板原先分两套做法:幻灯片/fonts(49MB 鸿蒙 18 个字重)与 科技报告/font(92MB,含 5 款方正商业字体),其余模板直接调系统 SimSun/SimHei/KaiTi/FangSong/Times New Roman。换机器就编不出来, 方正系列也不允许随仓库分发。 统一到仓库根的 fonts/ + fonts.tex: - OUC Serif(思源宋体 SC 子集) —— 宋体 - OUC Sans(思源黑体 SC 子集) —— 黑体 - OUC Kai(霞鹜文楷子集) —— 楷体 - Zhuque Fangsong(朱雀仿宋) —— 仿宋 - TeX Gyre Termes —— 西文 Times 等价(度量逐字相同) - HarmonyOS Sans —— 幻灯片/科技报告原有字体 fonts.tex 是唯一允许声明字体的地方,7 个模板全部 \input 它。 字体体积 141MB -> 49MB(去掉重复),全库共用一套最小集合。 几处踩过的坑(均已写进源码注释): - \newCJKfontfamily 与 ctex 默认 fontset 冲突会中断编译,改用 \setCJKfamilyfont + \def - \newfontfamily 缺粗体档会让 \bfseries 静默失效,四档必须全给 - UprightFont= 与主参数不能同时给,否则文件名被拼两次 - Path= 相对编译时工作目录,不是相对 .sty - ×/□/○ 等符号按 Unicode 区段被判成西文,需 \xeCJKDeclareCharClass - 中文斜体的 ItalicFont 与主字体不在同一目录,须在 ItalicFeatures 里单独写 Path/Extension(否则报 OUCKai-Regular cannot be found) 顺带: - 科技报告 report.tex 的字体演示正文改为新字体名(原文写着方正系列) - 试卷归档封面新模板并入本库 - 科技报告 shell 命令框底色改海大蓝(#5 遗留) 验证(7 个模板 8 个 PDF 全量重编 + 逐行 A/B 对照): - 错误 0,缺字 0 - 幻灯片 362 行逐行完全一致,零漂移 - 年度考核登记表 / 劳务发放说明表 / 试卷题型示例 / 参考答案 文本完全一致 - 课程执行大纲 仅 2 处断字连字符差异(throughout、processing), 1 条 6.39pt Overfull 已论证不可见(距纸张右边缘仍有 20.7mm) - 科技报告 内嵌字体方正归零,只剩 OUC Serif/Sans/Kai + Zhuque - 全库正文 857 个非 ASCII 字符,四款中文字体(含粗体)覆盖 100%
This commit is contained in:
+23
-11
@@ -92,7 +92,7 @@ xelatex 课程执行大纲.tex # 单次即可,无交叉引用
|
||||
| `trHeight`(exact) | 454 | 8.01(本包用 7.834,见坑 3) |
|
||||
| 边框 `sz` | 4 | 0.5pt |
|
||||
|
||||
`tblLayout fixed`、`jc center`、`tblW 0 auto`。全表 12pt 方正仿宋。
|
||||
`tblLayout fixed`、`jc center`、`tblW 0 auto`。全表 12pt 仿宋(朱雀仿宋)。
|
||||
|
||||
### 表 1(教学日历)
|
||||
|
||||
@@ -184,18 +184,30 @@ ctex 默认 `\linespread ≈ 1.3`,会把 `\fontsize{12}{18}` 的行距放大
|
||||
反过来,在已经缩小过字号的上下文里,**不能**用 `\linespread{1.2}` 当"1.2 倍行距"
|
||||
(它乘的是外层的 9pt,不是当前的 10.5pt),要直接钉 `\fontsize{10.5}{12.6}`。
|
||||
|
||||
## 字体降级
|
||||
## 字体
|
||||
|
||||
原 docx 用了 4 个字体,其中 3 个是**方正商业字体**,嵌在 docx 里但本机没装:
|
||||
原 docx 用了 4 个字体,其中 3 个是**方正商业字体**,嵌在 docx 里但本机没装。
|
||||
旧版做法是降级到 Windows 自带字体(宋体/黑体/仿宋 + `AutoFakeBold` 伪粗),
|
||||
但这既依赖本机装了什么字体(换台机器就可能编不出),而且 SimSun / SimHei /
|
||||
FangSong 也都不允许随仓库分发。
|
||||
|
||||
| docx 原字体 | 用在哪 | 本包替代 |
|
||||
|---|---|---|
|
||||
| 方正小标宋简体 | 校名、副标题、大标题、教学日历 | 宋体 + 伪粗(`AutoFakeBold=3.2`) |
|
||||
| 方正仿宋_GB2312 | 正文、表 0、签字栏 | 仿宋(`FangSong`) |
|
||||
| 黑体 | 各级标题 | 黑体(`SimHei`) |
|
||||
| 宋体 | 教学日历表 9pt | 宋体(`SimSun`) |
|
||||
现在全部改用仓库公共字体包 `../fonts.tex`:
|
||||
|
||||
装过方正字体的话,改 `ouccourse.sty` 第 75~78 行的 `\newCJKfontfamily` 即可,其余不动。
|
||||
| docx 原字体 | 用在哪 | 本包替代 | 命令 |
|
||||
|---|---|---|---|
|
||||
| 方正小标宋简体 | 校名、副标题、大标题、教学日历 | OUC Serif **真粗体** | `\ccbiaosong` |
|
||||
| 方正仿宋_GB2312 | 正文、表 0、签字栏 | 朱雀仿宋 | `\ccfang` |
|
||||
| 黑体 | 各级标题 | OUC Sans(思源黑体) | `\cchei` |
|
||||
| 宋体 | 教学日历表 9pt | OUC Serif(思源宋体) | `\ccsong` |
|
||||
|
||||
比原来的伪粗更好:小标宋本来就是宋体的标题变体,用思源宋体自带的真粗体,
|
||||
笔画不会像 `AutoFakeBold=3.2` 那样糊在一起。
|
||||
|
||||
> ⚠️ **朱雀仿宋只有常规一档**,`\ccfang` 下 `\bfseries` 不会真的变粗。
|
||||
> 教学日历表头(`课程执行大纲.tex` 里的 `{\ccfang\ccszxi\bfseries 周次}` 等 6 处)
|
||||
> 原来靠 `AutoFakeBold=2.5` 伪粗,现在给 `ccfang` 单独开了 `FakeBold=0.8`
|
||||
> 保住层次(见 `ouccourse.sty` 的注释)。若要更实在的粗体,把那几处
|
||||
> `\ccfang` 换成 `\cchei` —— 黑体本身就是标题用的重字面。
|
||||
|
||||
同时 `\xeCJKsetup{CJKecglue={}}` 关掉了西文与汉字之间的自动空隙 —— 原 docx 没有这种空隙,
|
||||
不关会出现「×× 学部×× 学院」这种多出来的空格。
|
||||
@@ -210,7 +222,7 @@ ctex 默认 `\linespread ≈ 1.3`,会把 `\fontsize{12}{18}` 的行距放大
|
||||
| 行内是否允许断开 | 允许(无 `cantSplit`) | 允许 | 一致 |
|
||||
| 表 0 每行高 | 8.01 | 8.01 | 一致 |
|
||||
| 表 1 表宽 | 165.54 | 165.36(−0.18) | 竖线宽度舍入 |
|
||||
| 字体 | 方正小标宋/仿宋 | 宋体加粗/仿宋 | 商业字体未安装 |
|
||||
| 字体 | 方正小标宋/仿宋 | 思源宋体粗/朱雀仿宋 | 商业字体不可分发,已换开源替代 |
|
||||
| 修订标记 | 46 处 `w:ins` | 不保留 | 已接受全部插入修订 |
|
||||
| 46 处 `w:ins` 中的红字 | `color=C00000` | 黑色 | 那是修订高亮,非正式版式 |
|
||||
|
||||
|
||||
Reference in New Issue
Block a user