diff options
Diffstat (limited to 'gnu/packages/fontutils.scm')
-rw-r--r-- | gnu/packages/fontutils.scm | 184 |
1 files changed, 100 insertions, 84 deletions
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 212c258aca..c7443fe1a1 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -20,6 +20,7 @@ ;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2023 pinoaffe <pinoaffe@gmail.com> ;;; Copyright © 2024 Sören Tempel <soeren@soeren-tempel.net> +;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -61,6 +62,7 @@ #:use-module (gnu packages java) #:use-module (gnu packages linux) #:use-module (gnu packages man) + #:use-module (gnu packages mc) #:use-module (gnu packages ninja) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) @@ -530,7 +532,11 @@ converts any cubic curves to quadratic. The most useful function is probably (sha256 (base32 "1rg2997af8blvswlwif0kpz2vxrlh555gzqslz6yv9y7i7v8lphl")))) (build-system pyproject-build-system) - (native-inputs (list python-pytest python-setuptools-scm)) + (native-inputs + (list python-pytest + python-setuptools-scm + python-setuptools + python-wheel)) (propagated-inputs (list python-booleanoperations python-cffsubr @@ -677,7 +683,8 @@ process. FontParts is the successor of RoboFab.") "--ignore=tests/builder/interpolation_test.py"))) (native-inputs (list python-setuptools-scm - + python-setuptools + python-wheel ;; For tests. python-pytest python-xmldiff)) @@ -857,6 +864,7 @@ suite of the @code{psautohint} package.") python-pytest-cov python-pytest-xdist python-setuptools-scm + python-setuptools python-wheel)) (home-page "https://github.com/adobe-type-tools/psautohint") (synopsis "Adobe's PostScript autohinter") @@ -1609,44 +1617,46 @@ definitions.") (define-public fontforge (package - (name "fontforge") - (version "20220308") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/fontforge/fontforge/releases/download/" - version "/fontforge-" version ".tar.xz")) - (sha256 - (base32 "0ncfc4ajwy4ng6b6h79w52jh9z3lngvf3f3ldi1wzkhcg9zh3r01")))) - (build-system cmake-build-system) - (native-inputs - (list pkg-config)) - (inputs `(("cairo" ,cairo) - ("fontconfig" ,fontconfig) ;dlopen'd - ("freetype" ,freetype) - ("gettext" ,gettext-minimal) - ("libICE" ,libice) - ("libSM" ,libsm) - ("libX11" ,libx11) - ("libXi" ,libxi) - ("libjpeg" ,libjpeg-turbo) - ("libltdl" ,libltdl) - ("libpng" ,libpng) - ("libspiro" ,libspiro) - ("libtiff" ,libtiff) - ("libungif" ,libungif) - ("libxft" ,libxft) - ("libxml2" ,libxml2) - ("pango" ,pango) - ("potrace" ,potrace) - ("python" ,python) - ("zlib" ,zlib))) - (arguments - (list - #:configure-flags #~'( ;; TODO: Provide GTK+ for the Wayland-friendly GDK - ;; backend, instead of the legacy X11 backend. - ;; Currently it introduces a circular dependency. - "-DENABLE_X11=ON") + (name "fontforge") + (version "20220308") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/fontforge/fontforge/releases/download/" + version "/fontforge-" version ".tar.xz")) + (sha256 + (base32 "0ncfc4ajwy4ng6b6h79w52jh9z3lngvf3f3ldi1wzkhcg9zh3r01")))) + (build-system cmake-build-system) + (native-inputs + (list pkg-config)) + (inputs + (list cairo + bash-minimal + fontconfig ;dlopen'd + freetype + gettext-minimal + libice + libsm + libx11 + libxi + libjpeg-turbo + libltdl + libpng + libspiro + libtiff + libungif + libxft + libxml2 + pango + potrace + python + zlib)) + (arguments + (list + #:configure-flags #~'( ;; TODO: Provide GTK+ for the Wayland-friendly GDK + ;; backend, instead of the legacy X11 backend. + ;; Currently it introduces a circular dependency. + "-DENABLE_X11=ON") #:phases #~(modify-phases %standard-phases (add-after 'unpack 'do-not-override-RPATH @@ -1655,8 +1665,7 @@ definitions.") ;; already does the right thing. (substitute* "CMakeLists.txt" (("^set_default_rpath\\(\\)") - "")) - #t)) + "")))) #$@(if (target-hurd?) #~((add-after 'unpack 'apply-hurd-patch (lambda _ @@ -1695,45 +1704,18 @@ definitions.") ,(map (lambda (input) (string-append (assoc-ref inputs input) "/lib")) - '("libtiff" "libjpeg" "libpng" "libungif" + '("libtiff" "libjpeg-turbo" "libpng" "libungif" "libxml2" "zlib" "libspiro" "freetype" - "pango" "cairo" "fontconfig"))) + "pango" "cairo" "fontconfig-minimal"))) ;; Checks for potrace program at runtime - `("PATH" ":" prefix (,potrace))) - #t)))))) - (synopsis "Outline font editor") - (description - "FontForge allows you to create and modify postscript, truetype and + `("PATH" ":" prefix (,potrace))))))))) + (synopsis "Outline font editor") + (description + "FontForge allows you to create and modify postscript, truetype and opentype fonts. You can save fonts in many different outline formats, and generate bitmaps.") - (license license:gpl3+) - (home-page "https://fontforge.github.io"))) - -;; This is the last version that supports Python 2, which is needed for -;; GNU FreeFont. Remove once no longer required. -(define-public fontforge-20190801 - (package - (inherit fontforge) - (version "20190801") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/fontforge/fontforge/releases/download/" - version "/fontforge-" version ".tar.gz")) - (sha256 - (base32 "0lh8yx01asbzxm6car5cfi64njh5p4lxc7iv8dldr5rwg357a86r")))) - (build-system gnu-build-system) - (arguments - (substitute-keyword-arguments (package-arguments fontforge) - ((#:configure-flags _) - #~'()) - ((#:phases phases) - #~(modify-phases #$phases - (delete 'do-not-override-RPATH))))) - (inputs - (modify-inputs (package-inputs fontforge) - (prepend libuninameslist) - (replace "python" python-2))))) + (license license:gpl3+) + (home-page "https://fontforge.github.io"))) (define-public python-statmake (package @@ -1751,6 +1733,9 @@ generate bitmaps.") (build-system pyproject-build-system) (arguments (list + #:test-flags + ;; The code no longer raises <class 'ValueError'> + '(list "-k" "not test_load_stylespace_broken_range") #:phases #~(modify-phases %standard-phases (add-after 'unpack 'adjust-for-older-attrs @@ -1760,7 +1745,9 @@ generate bitmaps.") (lambda _ (substitute* "pyproject.toml" (("attrs = \">=21.3\"") - "attrs = \">=21.2\"")) + "attrs = \">=21.2\"") + (("cattrs = \">=22.2\"") + "cattrs = \">=22.1\"")) (substitute* (find-files "." "\\.py$") (("from attrs\\b") "from attr") @@ -1801,8 +1788,13 @@ with @samp{nameIDs}.") (base32 "0yx4i8q5rfyqhr2fj70a7z1bp1jv7bdlr64ww9z4nv9ycbda4x9j")))) (build-system pyproject-build-system) (native-inputs - (list python-pytest python-setuptools-scm)) - (propagated-inputs (list python-attrs python-fonttools)) + (list python-pytest + python-setuptools + python-setuptools-scm + python-wheel)) + (propagated-inputs + (list python-attrs + python-fonttools)) (home-page "https://github.com/fonttools/ufoLib2") (synopsis "Unified Font Object (UFO) font processing library") (description "The ufoLib2 Python library is meant to be a thin @@ -1818,13 +1810,13 @@ API-compatible with defcon.") (define-public python-defcon-bootstrap (package (name "python-defcon-bootstrap") - (version "0.10.2") + (version "0.10.3") (source (origin (method url-fetch) (uri (pypi-uri "defcon" version ".zip")) (sha256 - (base32 "0i1a306b8c42dpbplwxj6ili2aac5lwq2ir6r1jswicysvk9dqxf")))) + (base32 "036clkwjfv5mmvy6s67s0pbni73n9hdw32z20gm4w5jzqzbjdpjn")))) (build-system python-build-system) (propagated-inputs (list python-fontpens-bootstrap python-fonttools)) (native-inputs @@ -1899,7 +1891,7 @@ maintain the Noto Fonts project.") (define-public fcft (package (name "fcft") - (version "3.0.1") + (version "3.1.9") (home-page "https://codeberg.org/dnkl/fcft") (source (origin (method git-fetch) @@ -1907,7 +1899,7 @@ maintain the Noto Fonts project.") (file-name (git-file-name name version)) (sha256 (base32 - "0jxy92ny8b7s7yvz1mr8zpf7l2zsn506fi9f98pvh9k25jprg0cx")))) + "0j127fk5v2nlk5s0gibympcnzjyzfk5dwgz524gvlczfh7cbm18g")))) (build-system meson-build-system) (native-inputs (list check pkg-config scdoc)) @@ -2023,6 +2015,7 @@ work well with other GTK+ desktop environments.") ("gettext" ,gettext-minimal))) (inputs `(("cairo" ,cairo) + ("bash-minimal", bash-minimal) ("fontconfig" ,fontconfig) ("freetype" ,freetype) ("glib" ,glib) @@ -2075,6 +2068,29 @@ shaping (using HarfBuzz), and proper script itemization. As a result, Raqm can support most writing systems covered by Unicode.") (license license:expat))) + +(define-public fontopia + (package + (name "fontopia") + (version "2.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/fontopia/fontopia-" + version ".tar.gz")) + (sha256 + (base32 "0wv7bd7gdm1ma4xgq9av73ic3xhpwyszj6g6c6311xjk26xm9ahd")))) + (build-system gnu-build-system) + (inputs + (list gnudos)) + (home-page "https://www.gnu.org/software/fontopia/") + (synopsis "Text-based, console font editor") + (description + "GNU fontopia is an easy-to-use, text-based, console font editor. You can +edit the fonts that your GNU/Linux kernel is using to display your text on text- +based (vs graphical) terminals.") + (license license:gpl3+))) + + (define-public lcdf-typetools (package (name "lcdf-typetools") |