Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:42.3:Update
lilypond.8109
add_set-global-fonts_function.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File add_set-global-fonts_function.patch of Package lilypond.8109
Description: Add set-global-fonts function to scm/font.scm Allow changing of notation fonts . This commit changes the behaviour of make-pango-font-tree in the following ways: . - Make all arguments optional key/value pairs keeping the current default values (emmentaler/Century Schoolbook) - Allow changing of music fonts too. . Currently alternative music fonts have to be present in the font directory besides Emmentaler fonts, and they have to be manually installed. But now there are a number of alternative and compatible fonts available. . See also: - https://sites.google.com/site/tisimst/lilypond-fonts/docs - http://lilypondblog.org/2015/03/managing-alternative-fonts-with-lilypond/ Author: Abraham Lee <tisimst.lilypond@gmail.com> Date: Sat Aug 2 18:17:01 2014 +0200 Origin: upstream Applied-Upstream: 2.19.12, http://git.savannah.gnu.org/cgit/lilypond.git/commit/?id=a7b6efba453f6bec916d3908cd83bcb825b2a1a8 Reviewed-by: Urs Liska <ul@openlilylib.org> Reviewed-by: Anthony Fok <foka@debian.org> Last-Update: 2017-01-25 --- This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ Index: scm/font.scm =================================================================== --- scm/font.scm.orig 2014-03-17 17:29:16.000000000 +0200 +++ scm/font.scm 2018-05-15 10:46:23.504364017 +0200 @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 2004--2012 Han-Wen Nienhuys <hanwen@xs4all.nl> +;;;; Copyright (C) 2004--2014 Han-Wen Nienhuys <hanwen@xs4all.nl> ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify ;;;; it under the terms of the GNU General Public License as published by @@ -147,7 +147,7 @@ ;; Each size family is a vector of fonts, loaded with a delay. The ;; vector should be sorted according to ascending design size. -(define-public (add-music-fonts node name family design-size-alist factor) +(define-public (add-music-fonts node family name brace design-size-alist factor) "Set up music fonts. Arguments: @@ -156,12 +156,15 @@ Arguments: @var{node} is the font tree to modify. @item +@var{family} is the family name of the music font. + +@item @var{name} is the basename for the music font. @file{@var{name}-<designsize>.otf} should be the music font, -@file{@var{name}-brace.otf} should have piano braces. @item -@var{family} is the family name of the music font. +@var{brace} is the basename for the brace font. +@file{@var{brace}-brace.otf} should have piano braces. @item @var{design-size-alist} is a list of @code{(rounded . designsize)}. @@ -199,7 +202,7 @@ used. This is used to select the proper ))) (fetaBraces ,(ly:pt 20.0) #(,(delay (ly:system-font-load - (format #f "~a-brace" name))))) + (format #f "~a-brace" brace))))) ))) (define-public (add-pango-fonts node lily-family family factor) @@ -229,9 +232,40 @@ used. This is used to select the proper (add-node 'italic 'normal) (add-node 'italic 'bold)) +; This function allows the user to change the specific fonts, leaving others +; to the default values. This way, "make-pango-font-tree"'s syntax doesn't +; have to change from the user's perspective. +; +; Usage: +; \paper { +; #(define fonts +; (set-global-fonts +; #:music "gonville" ; (the main notation font) +; #:roman "FreeSerif" ; (the main/serif text font) +; )) +; } +; +; Leaving out "#:brace", "#:sans", and "#:typewriter" leave them at +; "emmentaler", "sans-serif", and "monospace", respectively. All fonts are +; still accesible through the usual scheme symbols: 'feta, 'roman, 'sans, and +; 'typewriter. +(define*-public (set-global-fonts #:key + (music "emmentaler") + (brace "emmentaler") + (roman "Century Schoolbook L") + (sans "sans-serif") + (typewriter "monospace") + (factor 1)) + (let ((n (make-font-tree-node 'font-encoding 'fetaMusic))) + (add-music-fonts n 'feta music brace feta-design-size-mapping factor) + (add-pango-fonts n 'roman roman factor) + (add-pango-fonts n 'sans sans factor) + (add-pango-fonts n 'typewriter typewriter factor) + n)) + (define-public (make-pango-font-tree roman-str sans-str typewrite-str factor) (let ((n (make-font-tree-node 'font-encoding 'fetaMusic))) - (add-music-fonts n "emmentaler" 'feta feta-design-size-mapping factor) + (add-music-fonts n 'feta "emmentaler" "emmentaler" feta-design-size-mapping factor) (add-pango-fonts n 'roman roman-str factor) (add-pango-fonts n 'sans sans-str factor) (add-pango-fonts n 'typewriter typewrite-str factor) @@ -240,7 +274,9 @@ used. This is used to select the proper (define-public (make-century-schoolbook-tree factor) (make-pango-font-tree "Century Schoolbook L" - "sans-serif" "monospace" factor)) + "sans-serif" + "monospace" + factor)) (define-public all-text-font-encodings '(latin1))
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor