aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/fontutils.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/fontutils.scm')
-rw-r--r--gnu/packages/fontutils.scm184
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")