From 55119febaa69f5ffba8fb68fb0d126a6e510088e Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Sat, 22 Aug 2020 03:03:28 +0000 Subject: CTAN sync 202008220303 --- fonts/libertinus-fonts/CONTRIBUTING.md | 91 ++++++---------------------------- 1 file changed, 14 insertions(+), 77 deletions(-) (limited to 'fonts/libertinus-fonts/CONTRIBUTING.md') diff --git a/fonts/libertinus-fonts/CONTRIBUTING.md b/fonts/libertinus-fonts/CONTRIBUTING.md index 976cdf9d30..5a61d8c11b 100644 --- a/fonts/libertinus-fonts/CONTRIBUTING.md +++ b/fonts/libertinus-fonts/CONTRIBUTING.md @@ -1,86 +1,23 @@ -Contributing ------------- +# Contributing -To build the fonts, you need [GNU Make][make] and [Python 3.6+][python], as well -as [a few Python packages](requirements.txt). The cleanest way to install the -Python dependencies is to use a [virtual environment][venv]: +The source files are under the `sources` subdirectory. +The `.sfd` files are FontForge source font format and should be edited with [FontForge][fontforge]. +The `.fea` files are [OpenType feature files][fea] and should be edited by a plain text editor. - python3 -m venv libertinus-env - . libertinus-env/bin/activate - pip install -r requirements.txt +To build the fonts locally, you will need to install [Fontship][fontship]. +Regenerate the fonts at any time using: -(There are also [optional dependencies](#optional-dependencies) which are not -required for the basic contribution flow.) + fontship make -The source files are under the `sources` subdirectory. The `.sfd` files are -FontForge source font format and should be edited with [FontForge][fontforge]. -The `.fea` files are [OpenType feature files][fea] and should be edited by a -plain text editor. +A remote CI runner will also automatically run `fontship` for all PRs on this repository, so in some cases you may not need to install it at all. +You can even download and review the fonts it builds after each push. +Hovever this is cumbersome for actual font development and we recomend checking your work with local feedback. -After modifying the `.sfd` files, and before committing the changes, they must -be normalized with: +Note that FontForge adds unnessesary clutter to its source files on each save that **must** be removed before committing. +After modifying the `.sfd` files, and before committing the changes, you can automatically clean them up with: - make normalize + fontship make normalize -We keep the generated fonts under version control, so the last step is to run: - - make - -Which will build the `.otf` font files that should be committed as well. - -Fonts must be generated for each commit that changes the source files. The -build tools are smart enough to not change the binary fonts if the sources were -not changed. - -### Optional dependencies - -The build process, besides generating the `.otf` font files, also updates the -SVG and PDF preview documents. For that, additional tools are needed: `xelatex` -from [xetex][], and `mutool` from [mupdf][] (version 1.15.0 or above). The -`make` command will emit errors if these are not present, but as long as the -font generation stages finish correctly, these errors can be ignored. However, -if you do wish to update the preview files, these tools must also be installed. - -#### Linux - -On most Linux distros, the `xelatex` binary is provided by the -[`texlive-xetex` package][repology-xetex], and the `mutool` binary by -[`mupdf-tools` or `mupdf`][repology-mupdf]. -In Ubuntu, for example, these packages can be installed with: - - sudo apt install texlive-xetex mupdf-tools - -**Note:** the command example above installs an unsupported version of -`mupdf-tools` in Ubuntu versions older than 19.10 (Eoan Ermine), which is the -first one that [included][ubuntu-mupdf] the 1.15.0 release of `mupdf-tools`. -If your distro has an older version, you may consider using the [Linuxbrew][] -package manager instead to install `mupdf-tools`: - - brew install mupdf-tools - -#### macOS - -On macOS, [Homebrew][] can be used to install `mupdf-tools`: - - brew install mupdf-tools - -On the other hand, `xelatex` is not provided as a stand-alone formula. The -simplest way to obtain it is to install the [basictex][] cask, and then link -the `xelatex` binary within it from a location accessible in the `PATH`: - - brew cask install basictex - ln -s /usr/local/texlive/*/bin/x86_64-darwin/xelatex /usr/local/bin/xelatex - -[make]: https://www.gnu.org/software/make/ -[python]: https://www.python.org -[venv]: https://packaging.python.org/guides/installing-using-pip-and-virtual-environments/ +[fontship]: https://github.com/theleagueof/fontship [fontforge]: https://fontforge.org [fea]: https://adobe-type-tools.github.io/afdko/OpenTypeFeatureFileSpecification.html -[xetex]: http://xetex.sourceforge.net -[mupdf]: https://mupdf.com -[repology-xetex]: https://repology.org/project/texlive:xetex/versions -[repology-mupdf]: https://repology.org/project/mupdf/versions -[ubuntu-mupdf]: https://packages.ubuntu.com/eoan/mupdf-tools -[linuxbrew]: https://docs.brew.sh/Homebrew-on-Linux -[homebrew]: https://brew.sh -[basictex]: https://formulae.brew.sh/cask/basictex -- cgit v1.2.3