├── .gitignore ├── README.md └── Scripts ├── BuildTTC-CodeJP.sh ├── BuildTTC-Sans.sh ├── BuildTTF-Sans.sh ├── TTF2TTC.bat ├── otrebuild-mac └── otrebuild.exe /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | .DS_Store 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Source Han TrueType | 思源 TrueType 2 | **TrueType Version of Source Han Sans & Source Han Serif | 思源黑体和思源宋体的 TrueType 版本** 3 | 4 | The Adobe-branded *Source Han Sans*, *Source Han Serif*, and *Source Han Code JP* are open source Pan-CJK and Japanese (*Source Han Code JP*) typefaces whose OpenType/CFF fonts and CID-based sources are covered under the terms of the [SIL Open Font License, Version 1.1](http://scripts.sil.org/OFL) (also see the [FAQ](http://scripts.sil.org/cms/scripts/page.php?item_id=OFL-FAQ_web)). 5 | 6 | **思源黑体**、**思源宋体**以及**思源黑体等宽日本地区版**是由 Adobe 主导开发的开源及跨中日韩地区的多语言字库。这些字库的 OpenType/CFF 文件以及 CID 源文件均由 [SIL 开源字库协议,版本 1.1](http://scripts.sil.org/OFL) 授权(另请参阅[常见问题](http://scripts.sil.org/cms/scripts/page.php?item_id=OFL-FAQ_web))。 7 | 8 | This project includes the *TrueType version* of all the fonts above, which generally presents better compatibility on Microsoft Windows, Microsoft Office and front-end-specific fields than OpenType/CFF version. 9 | 10 | 本项目提供以上所有字库的 **TrueType 版本**。通常 TrueType 格式的字库在 Microsoft Windows、Microsoft Office 以及前端领域的兼容性要优于 OpenType/CFF 格式。 11 | 12 | 13 | ## Specification | 技术规格 14 | 15 | * Language-specific version: TrueType collection (TTC) 16 | * 多语言完整版(65,535 字符):TrueType collection (TTC) 17 | * Region-specific subset version: TrueType (TTF) 18 | * 多地区子集版:TrueType (TTF) 19 | * Units-per-em (UPM): 2048, i.e. *lossless conversion from the OpenType/CFF source* 20 | * 曲线精度:2048,**相当于 OpenType/CFF 原版的无损转换** 21 | * Rendering strategy: full-range subpixel anti-aliasing (on Windows 10) 22 | * 渲染策略:全字号亚像素抗锯齿(Windows 10) 23 | * OpenType features: All included 24 | * OpenType 特性:完整收录 25 | 26 | **Special Note**: Please download the latest *WinRAR* (for Windows) or the *Unarchiver* app (for Mac) to decompress the RAR files, as they are RAR5 archive format. For Ubuntu and possibly other flavors of Linux, we recommend that you download and install the [Unarchiver command-line tools](https://unarchiver.c3.cx/commandline), then simply execute the *unar* command with the given file. 27 | 28 | **注意事项**:请下载最新版 **WinRAR**(Windows)或 **Unarchiver**(Mac)解压这里的 RAR 文件,因为它们均为新版 RAR5 格式。对于 Ubuntu 和其他发行版 Linux,建议您安装 [Unarchiver 命令行工具](https://unarchiver.c3.cx/commandline),并通过它解压文件。 29 | 30 | 31 | ## Font Installation Instructions | 字库安装指南 32 | 33 | * [macOS](https://support.apple.com/en-us/HT201749) 34 | * [Windows](https://www.microsoft.com/en-us/Typography/TrueTypeInstall.aspx) 35 | * [Linux/Unix-based systems](https://github.com/adobe-fonts/source-code-pro/issues/17#issuecomment-8967116) 36 | 37 | 38 | ## Further Information | 更多信息 39 | 40 | For information about the design and background of the Source Han typefaces, please refer to their respective repositories. 41 | 42 | 关于字库设计以及其他有关思源字库的信息,请垂询各个 GitHub 仓库。 43 | -------------------------------------------------------------------------------- /Scripts/BuildTTC-CodeJP.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # This bash script generates TrueType version of Source Han Code JP. 3 | # Note that this script depends on Adobe's AFDKO and otRebuilder, both of which could be found on GitHub. Apple's Font Tools for XCode could be found at developer.apple.com/fonts. 4 | 5 | # Clean-up of previous output files. 6 | rm -rf Full 7 | 8 | # Create the work folder. 9 | mkdir temp 10 | 11 | # Locate to the source directory. 12 | cd $1/OTF 13 | 14 | # Copy source files to the temporary directory. 15 | cp *.otf ../../temp/ 16 | 17 | # Locate to the work directory. 18 | cd ../../temp 19 | 20 | # Convert otf files into ttf files in UPM 2048. 21 | for fontPath in *.otf 22 | do 23 | fontFileName="${fontPath##*/}" 24 | fontFilePre="${fontFileName%.*}" 25 | ../otrebuild.exe --otf2ttf --UPM 2048 --removeGlyphNames --O1 -o $fontFilePre.ttf $fontPath 26 | done 27 | 28 | # Pack ttf files into ttc files. 29 | mkdir Full 30 | otf2otc -o Full/SourceHanCodeJP-ExtraLight.ttc SourceHanCodeJP-ExtraLight.ttf SourceHanCodeJP-ExtraLightIt.ttf 31 | otf2otc -o Full/SourceHanCodeJP-Light.ttc SourceHanCodeJP-Light.ttf SourceHanCodeJP-LightIt.ttf 32 | otf2otc -o Full/SourceHanCodeJP-Normal.ttc SourceHanCodeJP-Normal.ttf SourceHanCodeJP-NormalIt.ttf 33 | otf2otc -o Full/SourceHanCodeJP-Regular.ttc SourceHanCodeJP-Regular.ttf SourceHanCodeJP-RegularIt.ttf 34 | otf2otc -o Full/SourceHanCodeJP-Medium.ttc SourceHanCodeJP-Medium.ttf SourceHanCodeJP-MediumIt.ttf 35 | otf2otc -o Full/SourceHanCodeJP-Bold.ttc SourceHanCodeJP-Bold.ttf SourceHanCodeJP-BoldIt.ttf 36 | otf2otc -o Full/SourceHanCodeJP-Heavy.ttc SourceHanCodeJP-Heavy.ttf SourceHanCodeJP-HeavyIt.ttf 37 | 38 | # Apple's ftxmakettc also does the same job. 39 | # ftxmakettc SourceHanCodeJP-ExtraLight.ttf SourceHanCodeJP-ExtraLightIt.ttf output/SourceHanCodeJP-ExtraLight.ttc 40 | # ftxmakettc SourceHanCodeJP-Light.ttf SourceHanCodeJP-LightIt.ttf output/SourceHanCodeJP-Light.ttc 41 | # ftxmakettc SourceHanCodeJP-Normal.ttf SourceHanCodeJP-NormalIt.ttf output/SourceHanCodeJP-Normal.ttc 42 | # ftxmakettc SourceHanCodeJP-Regular.ttf SourceHanCodeJP-RegularIt.ttf output/SourceHanCodeJP-Regular.ttc 43 | # ftxmakettc SourceHanCodeJP-Medium.ttf SourceHanCodeJP-MediumIt.ttf output/SourceHanCodeJP-Medium.ttc 44 | # ftxmakettc SourceHanCodeJP-Bold.ttf SourceHanCodeJP-BoldIt.ttf output/SourceHanCodeJP-Bold.ttc 45 | # ftxmakettc SourceHanCodeJP-Heavy.ttf SourceHanCodeJP-HeavyIt.ttf output/SourceHanCodeJP-Heavy.ttc 46 | 47 | # Locate to the root directory. 48 | mv Full ../ 49 | cd .. 50 | 51 | # Clean-ups 52 | rm -rf temp 53 | -------------------------------------------------------------------------------- /Scripts/BuildTTC-Sans.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # This bash script generates TrueType version of Source Han Sans. 3 | # Note that this script depends on Adobe's AFDKO and otRebuilder, both of which could be found on GitHub. Apple's Font Tools for XCode could be found at developer.apple.com/fonts. 4 | 5 | # Clean-up of previous output files. 6 | rm -rf Full 7 | 8 | # Create the work folder. 9 | mkdir temp 10 | 11 | # Locate to the source directory. 12 | cd $1/OTF 13 | 14 | # Copy source files to the temporary directory. 15 | for folder in Japanese JapaneseHW Korean KoreanHW SimplifiedChinese SimplifiedChineseHW TraditionalChinese TraditionalChineseHK TraditionalChineseHKHW TraditionalChineseHW 16 | do 17 | cd $folder 18 | cp *.otf ../../../temp/ 19 | cd .. 20 | done 21 | 22 | # Locate to the work directory. 23 | cd ../../temp 24 | 25 | # Convert otf files into ttf files in UPM 2048. 26 | for fontPath in *.otf 27 | do 28 | fontFileName="${fontPath##*/}" 29 | fontFilePre="${fontFileName%.*}" 30 | ../otrebuild.exe --otf2ttf --UPM 2048 --removeGlyphNames --O1 -o $fontFilePre.ttf $fontPath 31 | done 32 | 33 | # Pack ttf files into ttc files. 34 | mkdir Full 35 | otf2otc -o Full/SourceHanSans-ExtraLight.ttc SourceHanSansSC-ExtraLight.ttf SourceHanSansTC-ExtraLight.ttf SourceHanSansHC-ExtraLight.ttf SourceHanSans-ExtraLight.ttf SourceHanSansK-ExtraLight.ttf 36 | otf2otc -o Full/SourceHanSans-Light.ttc SourceHanSansSC-Light.ttf SourceHanSansTC-Light.ttf SourceHanSansHC-Light.ttf SourceHanSans-Light.ttf SourceHanSansK-Light.ttf 37 | otf2otc -o Full/SourceHanSans-Normal.ttc SourceHanSansSC-Normal.ttf SourceHanSansTC-Normal.ttf SourceHanSansHC-Normal.ttf SourceHanSans-Normal.ttf SourceHanSansK-Normal.ttf 38 | otf2otc -o Full/SourceHanSans-Regular.ttc SourceHanSansSC-Regular.ttf SourceHanSansTC-Regular.ttf SourceHanSansHC-Regular.ttf SourceHanSans-Regular.ttf SourceHanSansK-Regular.ttf 39 | otf2otc -o Full/SourceHanSans-Medium.ttc SourceHanSansSC-Medium.ttf SourceHanSansTC-Medium.ttf SourceHanSansHC-Medium.ttf SourceHanSans-Medium.ttf SourceHanSansK-Medium.ttf 40 | otf2otc -o Full/SourceHanSans-Bold.ttc SourceHanSansSC-Bold.ttf SourceHanSansTC-Bold.ttf SourceHanSansHC-Bold.ttf SourceHanSans-Bold.ttf SourceHanSansK-Bold.ttf 41 | otf2otc -o Full/SourceHanSans-Heavy.ttc SourceHanSansSC-Heavy.ttf SourceHanSansTC-Heavy.ttf SourceHanSansHC-Heavy.ttf SourceHanSans-Heavy.ttf SourceHanSansK-Heavy.ttf 42 | otf2otc -o Full/SourceHanSansHW-Regular.ttc SourceHanSansHWSC-Regular.ttf SourceHanSansHWTC-Regular.ttf SourceHanSansHWHC-Regular.ttf SourceHanSansHW-Regular.ttf SourceHanSansHWK-Regular.ttf 43 | otf2otc -o Full/SourceHanSansHW-Bold.ttc SourceHanSansHWSC-Bold.ttf SourceHanSansHWTC-Bold.ttf SourceHanSansHWHC-Bold.ttf SourceHanSansHW-Bold.ttf SourceHanSansHWK-Bold.ttf 44 | 45 | # Apple's ftxmakettc also does the same job. 46 | # ftxmakettc SourceHanSansSC-ExtraLight.ttf SourceHanSansTC-ExtraLight.ttf SourceHanSansHC-ExtraLight.ttf SourceHanSans-ExtraLight.ttf SourceHanSansK-ExtraLight.ttf output/SourceHanSans-ExtraLight.ttc 47 | # ftxmakettc SourceHanSansSC-Light.ttf SourceHanSansTC-Light.ttf SourceHanSansHC-Light.ttf SourceHanSans-Light.ttf SourceHanSansK-Light.ttf output/SourceHanSans-Light.ttc 48 | # ftxmakettc SourceHanSansSC-Normal.ttf SourceHanSansTC-Normal.ttf SourceHanSansHC-Normal.ttf SourceHanSans-Normal.ttf SourceHanSansK-Normal.ttf output/SourceHanSans-Normal.ttc 49 | # ftxmakettc SourceHanSansSC-Regular.ttf SourceHanSansTC-Regular.ttf SourceHanSansHC-Regular.ttf SourceHanSans-Regular.ttf SourceHanSansK-Regular.ttf output/SourceHanSans-Regular.ttc 50 | # ftxmakettc SourceHanSansSC-Medium.ttf SourceHanSansTC-Medium.ttf SourceHanSansHC-Medium.ttf SourceHanSans-Medium.ttf SourceHanSansK-Medium.ttf output/SourceHanSans-Medium.ttc 51 | # ftxmakettc SourceHanSansSC-Bold.ttf SourceHanSansTC-Bold.ttf SourceHanSansHC-Bold.ttf SourceHanSans-Bold.ttf SourceHanSansK-Bold.ttf output/SourceHanSans-Bold.ttc 52 | # ftxmakettc SourceHanSansSC-Heavy.ttf SourceHanSansTC-Heavy.ttf SourceHanSansHC-Heavy.ttf SourceHanSans-Heavy.ttf SourceHanSansK-Heavy.ttf output/SourceHanSans-Heavy.ttc 53 | # ftxmakettc SourceHanSansHWSC-Regular.ttf SourceHanSansHWTC-Regular.ttf SourceHanSansHWHC-Regular.ttf SourceHanSansHW-Regular.ttf SourceHanSansHWK-Regular.ttf output/SourceHanSansHW-Regular.ttc 54 | # ftxmakettc SourceHanSansHWSC-Bold.ttf SourceHanSansHWTC-Bold.ttf SourceHanSansHWHC-Bold.ttf SourceHanSansHW-Bold.ttf SourceHanSansHWK-Bold.ttf output/SourceHanSansHW-Bold.ttc 55 | 56 | # Locate to the root directory. 57 | mv Full ../ 58 | cd .. 59 | 60 | # Clean-ups 61 | rm -rf temp 62 | -------------------------------------------------------------------------------- /Scripts/BuildTTF-Sans.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # This bash script generates TrueType version of Source Han Sans Subset. 3 | # Note that this script depends on Adobe's AFDKO and otRebuilder, both of which could be found on GitHub. 4 | 5 | # Clean-up of previous output files. 6 | rm -rf Subset 7 | 8 | # Create output folder. 9 | mkdir Subset 10 | 11 | # Locate to the work directory. 12 | cd $1/SubsetOTF 13 | 14 | # Convert otf files into ttf files in UPM 2048. 15 | for folder in CN TW HK JP KR 16 | do 17 | cd $folder 18 | for fontPath in *.otf 19 | do 20 | fontFileName="${fontPath##*/}" 21 | fontFilePre="${fontFileName%.*}" 22 | ../../../otrebuild.exe --otf2ttf --UPM 2048 --removeGlyphNames --O1 -o $fontFilePre.ttf $fontPath 23 | mv -f $fontFilePre.ttf ../../../Subset/ 24 | done 25 | cd .. 26 | done 27 | -------------------------------------------------------------------------------- /Scripts/TTF2TTC.bat: -------------------------------------------------------------------------------- 1 | unitettc SourceHanSans-Bold.ttc SourceHanSansSC-Bold.ttf SourceHanSansTC-Bold.ttf SourceHanSans-Bold.ttf SourceHanSansK-Bold.ttf 2 | unitettc SourceHanSans-ExtraLight.ttc SourceHanSansSC-ExtraLight.ttf SourceHanSansTC-ExtraLight.ttf SourceHanSans-ExtraLight.ttf SourceHanSansK-ExtraLight.ttf 3 | unitettc SourceHanSans-Heavy.ttc SourceHanSansSC-Heavy.ttf SourceHanSansTC-Heavy.ttf SourceHanSans-Heavy.ttf SourceHanSansK-Heavy.ttf 4 | unitettc SourceHanSans-Light.ttc SourceHanSansSC-Light.ttf SourceHanSansTC-Light.ttf SourceHanSans-Light.ttf SourceHanSansK-Light.ttf 5 | unitettc SourceHanSans-Medium.ttc SourceHanSansSC-Medium.ttf SourceHanSansTC-Medium.ttf SourceHanSans-Medium.ttf SourceHanSansK-Medium.ttf 6 | unitettc SourceHanSans-Normal.ttc SourceHanSansSC-Normal.ttf SourceHanSansTC-Normal.ttf SourceHanSans-Normal.ttf SourceHanSansK-Normal.ttf 7 | unitettc SourceHanSans-Regular.ttc SourceHanSansSC-Regular.ttf SourceHanSansTC-Regular.ttf SourceHanSans-Regular.ttf SourceHanSansK-Regular.ttf 8 | 9 | unitettc SourceHanSansHW-Bold.ttc SourceHanSansHWSC-Bold.ttf SourceHanSansHWTC-Bold.ttf SourceHanSansHW-Bold.ttf SourceHanSansHWK-Bold.ttf 10 | unitettc SourceHanSansHW-Regular.ttc SourceHanSansHWSC-Regular.ttf SourceHanSansHWTC-Regular.ttf SourceHanSansHW-Regular.ttf SourceHanSansHWK-Regular.ttf 11 | 12 | unitettc SourceHanSerif-Bold.ttc SourceHanSerifSC-Bold.ttf SourceHanSerifTC-Bold.ttf SourceHanSerif-Bold.ttf SourceHanSerifK-Bold.ttf 13 | unitettc SourceHanSerif-ExtraLight.ttc SourceHanSerifSC-ExtraLight.ttf SourceHanSerifTC-ExtraLight.ttf SourceHanSerif-ExtraLight.ttf SourceHanSerifK-ExtraLight.ttf 14 | unitettc SourceHanSerif-Heavy.ttc SourceHanSerifSC-Heavy.ttf SourceHanSerifTC-Heavy.ttf SourceHanSerif-Heavy.ttf SourceHanSerifK-Heavy.ttf 15 | unitettc SourceHanSerif-Light.ttc SourceHanSerifSC-Light.ttf SourceHanSerifTC-Light.ttf SourceHanSerif-Light.ttf SourceHanSerifK-Light.ttf 16 | unitettc SourceHanSerif-Medium.ttc SourceHanSerifSC-Medium.ttf SourceHanSerifTC-Medium.ttf SourceHanSerif-Medium.ttf SourceHanSerifK-Medium.ttf 17 | unitettc SourceHanSerif-SemiBold.ttc SourceHanSerifSC-SemiBold.ttf SourceHanSerifTC-SemiBold.ttf SourceHanSerif-SemiBold.ttf SourceHanSerifK-SemiBold.ttf 18 | unitettc SourceHanSerif-Regular.ttc SourceHanSerifSC-Regular.ttf SourceHanSerifTC-Regular.ttf SourceHanSerif-Regular.ttf SourceHanSerifK-Regular.ttf 19 | -------------------------------------------------------------------------------- /Scripts/otrebuild-mac: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Masaiki/Source-Han-TrueType/1e35a73f8347b4832833e8835fc5dbb86746463b/Scripts/otrebuild-mac -------------------------------------------------------------------------------- /Scripts/otrebuild.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Masaiki/Source-Han-TrueType/1e35a73f8347b4832833e8835fc5dbb86746463b/Scripts/otrebuild.exe --------------------------------------------------------------------------------