]> git.donarmstrong.com Git - lilypond.git/commitdiff
Merge branch 'master' of ssh://git.sv.gnu.org/srv/git/lilypond into gonville
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Sat, 6 Mar 2010 17:15:47 +0000 (14:15 -0300)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Sat, 6 Mar 2010 17:15:47 +0000 (14:15 -0300)
12 files changed:
ROADMAP
input/gonville.ly [new file with mode: 0644]
input/regression/gonville.ly [deleted file]
lily/all-font-metrics-scheme.cc
lily/font-metric-scheme.cc
mf/GNUmakefile
mf/aybabtu.pe.in [deleted file]
mf/emmentaler-brace.pe.in [new file with mode: 0644]
scm/define-grob-properties.scm
scm/font.scm
scm/framework-ps.scm
scm/lily-library.scm

diff --git a/ROADMAP b/ROADMAP
index 68bb390021e4cd040ba8b5a6ae4bd3af1c6886d9..8b66091810a62b4c49cdc1ce0cfbeff5e877be81 100644 (file)
--- a/ROADMAP
+++ b/ROADMAP
@@ -68,7 +68,7 @@ LilyPond's source files.
 |   LIBRARIES:
 |
 |-- ly/                  .ly \include files
-|-- mf/                  MetaFont sources for Emmentaler and Aybabtu fonts
+|-- mf/                  MetaFont sources for Emmentaler fonts
 |-- ps/                  PostScript library files
 |-- scm/                 Scheme sources for LilyPond and subroutine files
 |-- tex/                 TeX and texinfo library files
diff --git a/input/gonville.ly b/input/gonville.ly
new file mode 100644 (file)
index 0000000..1ee8e4a
--- /dev/null
@@ -0,0 +1,62 @@
+\header {
+
+  texidoc = "Use an alternative music font (gonville).  To use this,
+put gonville-20.otf and gonville-brace.otf in a directory where
+lilypond can find them (use the --include option to extend the search
+path)."
+
+}
+
+\version "2.13.6"
+
+\paper {
+  myStaffSize = 20
+
+  %% bogus statement, because myStaffSize must be assigned before
+  %% the scheme statement starts parsing.
+  bogus = 42
+  
+  #(add-music-fonts fonts "gonville" 'gonville '(20)
+     (/ myStaffSize 20))
+}
+
+sampleMusic = \relative c'' {
+  a4-\trill_\f b8 c16 d32
+}
+
+
+{
+  \set Staff.instrumentName = #"Default"
+  \sampleMusic
+}
+
+\score {
+  {
+    \set Staff.instrumentName = #"Feta"
+    \sampleMusic
+  }
+  \layout {
+    #(define font-defaults
+      '((font-family . feta) (font-encoding . fetaMusic)))
+  }
+}
+
+\score {
+  \relative c'' {
+    \set Staff.instrumentName = #"Gonv"
+    \sampleMusic
+  }
+  \layout {
+    #(define font-defaults
+      '((font-family . gonville) (font-encoding . fetaMusic)))
+  }
+}
+
+\relative c''
+{
+  \set Staff.instrumentName = #"Gonv override"
+  c2^\trill c
+  \override NoteHead #'font-family = #'gonville
+  \override Script #'font-family = #'gonville
+  c^\trill c 
+}
diff --git a/input/regression/gonville.ly b/input/regression/gonville.ly
deleted file mode 100644 (file)
index cdb5289..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-\header {
-
-  texidoc = "The default music font can be overridden by setting
-  @code{(font-family . gonville)} in the @code{font-defaults} in the
-  paper block."
-
-}
-
-\version "2.13.6"
-
-\paper {
-  % Load the alternative font definitions into the font tree.
-% temporarily disabled to allow a release.  -gp
-%  #(add-music-fonts fonts "gonville" 'gonville (/ staff-height (* 20 pt)))
-}
-
-%{
-  Note: for this to work, do something like
-
-     wget -P out http://www.chiark.greenend.org.uk/~sgtatham/gonville/gonville-r8724.tar.gz
-     tar xzf out/gonville-r8724.tar.gz
-     ln out/gonville-r8724/lilyfonts/otf/gonville* out/share/lilypond/current/fonts/otf/
-     (cd out/share/lilypond/current/fonts/otf && for i in gonville*; do mv $i $(echo $i | sed s/gonville/gonville-/); done)
-
-
-  To show all available fonts, do
-
-     lilypond -dshow-available-fonts blabla
-
-%}
-
-\relative c'' {
-  \set Staff.instrumentName = #"Default"
-  a4-\trill b8 c16 d32
-}
-
-\score {
-  \relative c'' {
-    \set Staff.instrumentName = #"Feta"
-    a4-\trill b8
-    c16 d32
-  }
-  \layout {
-    #(define font-defaults
-      '((font-family . feta) (font-encoding . fetaMusic)))
-  }
-}
-
-\score {
-  \relative c'' {
-% temporarily disabled to allow a release.  -gp
-%    \set Staff.instrumentName = #"Gonville"
-    a4-\trill b8 c16 d32
-  }
-  \layout {
-    #(define font-defaults
-      '((font-family . gonville) (font-encoding . fetaMusic)))
-  }
-}
index 44fb8397c11012d53fc48bda8aca6895331150fa..4336e281d2a8fa70e6a4b1b60b14065098e30db9 100644 (file)
@@ -39,7 +39,7 @@ LY_DEFINE (ly_system_font_load, "ly:system-font-load", 1, 0, 0,
           " additional SFNT font tables called @code{LILC},"
           " @code{LILF}, and @code{LILY}, needed for typesetting"
           " musical elements.  Currently, only the Emmentaler and"
-          " the Aybabtu fonts fulfill these requirements.\n"
+          " the Emmentaler-Brace fonts fulfill these requirements.\n"
           "\n"
           "Note that only @code{ly:font-get-glyph} and derived"
           " code (like @code{\\lookup}) can access glyphs from"
index 55373f72c8de1f0c51329c3133e31c34e37bca22..7f57e5d1c35c65e70f7711a89b16a211036a3bd1 100644 (file)
@@ -31,7 +31,8 @@ LY_DEFINE (ly_font_get_glyph, "ly:font-get-glyph",
           "\n"
           "Note that this command can only be used to access glyphs from"
           " fonts loaded with @code{ly:system-font-load}; currently, this"
-          " means either the Emmentaler or Aybabtu fonts, corresponding"
+          " means either the Emmentaler or Emmentaler-Brace "
+           " fonts, corresponding"
           " to the font encodings @code{fetaMusic} and @code{fetaBraces},"
           " respectively.")
 {
@@ -53,7 +54,7 @@ LY_DEFINE (ly_get_glyph, "ly:get-glyph",
           "\n"
           "Note that this command can only be used to access glyphs from"
           " fonts loaded with @code{ly:system-font-load}; currently, this"
-          " means either the Emmentaler or Aybabtu fonts, corresponding"
+          " means either the Emmentaler or Emmentaler-Brace fonts, corresponding"
           " to the font encodings @code{fetaMusic} and @code{fetaBraces},"
           " respectively.")
 {
@@ -71,7 +72,7 @@ LY_DEFINE (ly_font_glyph_name_to_index, "ly:font-glyph-name-to-index",
           "\n"
           "Note that this command can only be used to access glyphs from"
           " fonts loaded with @code{ly:system-font-load}; currently, this"
-          " means either the Emmentaler or Aybabtu fonts, corresponding"
+          " means either the Emmentaler or Emmentaler-Brace fonts, corresponding"
           " to the font encodings @code{fetaMusic} and @code{fetaBraces},"
           " respectively.")
 {
@@ -89,7 +90,7 @@ LY_DEFINE (ly_font_index_to_charcode, "ly:font-index-to-charcode",
           "\n"
           "Note that this command can only be used to access glyphs from"
           " fonts loaded with @code{ly:system-font-load}; currently, this"
-          " means either the Emmentaler or Aybabtu fonts, corresponding"
+          " means either the Emmentaler or Emmentaler-Brace fonts, corresponding"
           " to the font encodings @code{fetaMusic} and @code{fetaBraces},"
           " respectively.")
 {
@@ -107,7 +108,7 @@ LY_DEFINE (ly_font_glyph_name_to_charcode, "ly:font-glyph-name-to-charcode",
           "\n"
           "Note that this command can only be used to access glyphs from"
           " fonts loaded with @code{ly:system-font-load}; currently, this"
-          " means either the Emmentaler or Aybabtu fonts, corresponding"
+          " means either the Emmentaler or Emmentaler-Brace fonts, corresponding"
           " to the font encodings @code{fetaMusic} and @code{fetaBraces},"
           " respectively.")
 {
index 389f7b9baf88a3720e8e0f23ebf6a4ea929539ab..16bf2123df69f3911c4deb05c2d8afc26373ec23 100644 (file)
@@ -22,7 +22,7 @@ STAFF_SIZES = 11 13 14 16 18 20 23 26
 BRACES = a b c d e f g h i
 
 OTF_FILES = $(STAFF_SIZES:%=$(outdir)/emmentaler-%.otf) \
-           $(outdir)/aybabtu.otf
+           $(outdir)/emmentaler-brace.otf
 PE_SCRIPTS = $(STAFF_SIZES:%=$(outdir)/emmentaler-%.pe)
 OTF_TABLES = $(STAFF_SIZES:%=$(outdir)/feta%.otf-table) \
             $(BRACES:%=$(outdir)/feta-braces-%.otf-table)
@@ -44,10 +44,10 @@ LISP_FILES = $(FETA_MF_FILES:%.mf=$(outdir)/%.lisp)
 ENC_FILES = $(FETA_MF_FILES:%.mf=$(outdir)/%.enc)
 TFM_FILES = $(FETA_MF_FILES:%.mf=$(outdir)/%.tfm)
 
-$(outdir)/aybabtu.otf-table: $(BRACES:%=$(outdir)/feta-braces-%.otf-table)
+$(outdir)/emmentaler-brace.otf-table: $(BRACES:%=$(outdir)/feta-braces-%.otf-table)
        cat $^ > $@
 
-$(outdir)/aybabtu.otf-gtable: $(BRACES:%=$(outdir)/feta-braces-%.otf-gtable)
+$(outdir)/emmentaler-brace.otf-gtable: $(BRACES:%=$(outdir)/feta-braces-%.otf-gtable)
        echo '(design_size . 20)' > $@
 
 
@@ -67,11 +67,11 @@ $(outdir)/emmentaler-%.svg: $(outdir)/emmentaler-%.pe \
                            $(outdir)/feta%.otf-gtable
        cd $(outdir) && $(FONTFORGE) -script $(notdir $(basename ,$@).pe)
 
-$(outdir)/aybabtu.otf \
-$(outdir)/aybabtu.svg: $(outdir)/aybabtu.pe \
+$(outdir)/emmentaler-brace.otf \
+$(outdir)/emmentaler-brace.svg: $(outdir)/emmentaler-brace.pe \
                       $(foreach s,$(BRACES),$(outdir)/feta-braces-$(s).pfb) \
-                      $(outdir)/aybabtu.otf-table $(outdir)/aybabtu.otf-gtable
-       cd $(outdir) && $(FONTFORGE) -script aybabtu.pe
+                      $(outdir)/emmentaler-brace.otf-table $(outdir)/emmentaler-brace.otf-gtable
+       cd $(outdir) && $(FONTFORGE) -script emmentaler-brace.pe
 
 $(outdir)/%.pfb: $(outdir)/%.log
 
@@ -106,18 +106,18 @@ $(outdir)/feta11.otf-table: $(outdir)/feta11.lisp \
                            $(outdir)/parmesan11.lisp \
                            $(outdir)/feta-alphabet11.lisp
 
-$(outdir)/aybabtu.otf: $(outdir)/aybabtu.subfonts \
-                      $(outdir)/aybabtu.fontname \
-                      $(outdir)/aybabtu.otf-table \
-                      $(outdir)/aybabtu.otf-gtable \
-                      $(outdir)/aybabtu.pe
+$(outdir)/emmentaler-brace.otf: $(outdir)/emmentaler-brace.subfonts \
+                               $(outdir)/emmentaler-brace.fontname \
+                               $(outdir)/emmentaler-brace.otf-table \
+                               $(outdir)/emmentaler-brace.otf-gtable \
+                               $(outdir)/emmentaler-brace.pe
 
-$(outdir)/aybabtu.otf \
-$(outdir)/aybabtu.svg: $(BRACES:%=$(outdir)/feta-braces-%.pfb)
+$(outdir)/emmentaler-brace.otf \
+$(outdir)/emmentaler-brace.svg: $(BRACES:%=$(outdir)/feta-braces-%.pfb)
 
-$(outdir)/aybabtu.fontname:
-       echo -n 'aybabtu' > $@
-$(outdir)/aybabtu.subfonts:
+$(outdir)/emmentaler-brace.fontname:
+       echo -n 'emmentaler-brace' > $@
+$(outdir)/emmentaler-brace.subfonts:
        echo $(subst .mf,,$(call src-wildcard,feta-braces-[a-z].mf)) > $@
 
 $(PE_SCRIPTS): $(buildscript-dir)/gen-emmentaler-scripts
diff --git a/mf/aybabtu.pe.in b/mf/aybabtu.pe.in
deleted file mode 100644 (file)
index 0130cff..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-#!@FONTFORGE@
-# all your brace are belong to us
-
-Open("feta-braces-b.pfb");
-SelectAll();
-Scale(200, 0, 0);
-Generate("feta-braces-b.scale.pfb");
-
-Open("feta-braces-c.pfb");
-SelectAll();
-Scale(300, 0, 0);
-Generate("feta-braces-c.scale.pfb");
-
-Open("feta-braces-d.pfb");
-SelectAll();
-Scale(400, 0, 0);
-Generate("feta-braces-d.scale.pfb");
-
-Open("feta-braces-e.pfb");
-SelectAll();
-Scale(500, 0, 0);
-Generate("feta-braces-e.scale.pfb");
-
-Open("feta-braces-f.pfb");
-SelectAll();
-Scale(600, 0, 0);
-Generate("feta-braces-f.scale.pfb");
-
-Open("feta-braces-g.pfb");
-SelectAll();
-Scale(700, 0, 0);
-Generate("feta-braces-g.scale.pfb");
-
-Open("feta-braces-h.pfb");
-SelectAll();
-Scale(800, 0, 0);
-Generate("feta-braces-h.scale.pfb");
-
-Open("feta-braces-i.pfb");
-SelectAll();
-Scale(900, 0, 0);
-Generate("feta-braces-i.scale.pfb");
-
-
-New()
-
-MergeFonts("feta-braces-a.pfb");
-MergeFonts("feta-braces-b.scale.pfb");
-MergeFonts("feta-braces-c.scale.pfb");
-MergeFonts("feta-braces-d.scale.pfb");
-MergeFonts("feta-braces-e.scale.pfb");
-MergeFonts("feta-braces-f.scale.pfb");
-MergeFonts("feta-braces-g.scale.pfb");
-MergeFonts("feta-braces-h.scale.pfb");
-MergeFonts("feta-braces-i.scale.pfb");
-
-SetFontNames("Aybabtu-Regular", "Aybabtu", "Aybabtu Regular", "Regular", "GNU GPL", "@TOPLEVEL_VERSION@");
-
-i = 0;
-while (i < CharCnt())
-  Select(i);
-# crashes fontforge, use PUA for now -- jcn
-# SetUnicodeValue(i + 0xF0000, 0);
-/*
-PRIVATE AREA
-       In the BMP, the range 0xe000 to 0xf8ff will never be  assigned  to  any
-       characters  by  the standard and is reserved for private usage. For the
-       Linux community, this private area has been subdivided further into the
-       range  0xe000  to 0xefff which can be used individually by any end-user
-       and the Linux zone in the range 0xf000 to 0xf8ff where  extensions  are
-       coordinated  among  all  Linux  users.  The  registry of the characters
-       assigned to the Linux zone is currently maintained by  H.  Peter  Anvin
-       <Peter.Anvin@linux.org>.
-*/
-  SetUnicodeValue(i + 0xE000, 0);
-  ++i;
-endloop
-
-LoadTableFromFile("LILF", "aybabtu.subfonts")
-LoadTableFromFile("LILC", "aybabtu.otf-table")
-LoadTableFromFile("LILY", "aybabtu.otf-gtable")
-
-Generate("aybabtu.otf");
-Generate("aybabtu.svg");
diff --git a/mf/emmentaler-brace.pe.in b/mf/emmentaler-brace.pe.in
new file mode 100644 (file)
index 0000000..4c85cae
--- /dev/null
@@ -0,0 +1,84 @@
+#!@FONTFORGE@
+# all your brace are belong to us
+
+Open("feta-braces-b.pfb");
+SelectAll();
+Scale(200, 0, 0);
+Generate("feta-braces-b.scale.pfb");
+
+Open("feta-braces-c.pfb");
+SelectAll();
+Scale(300, 0, 0);
+Generate("feta-braces-c.scale.pfb");
+
+Open("feta-braces-d.pfb");
+SelectAll();
+Scale(400, 0, 0);
+Generate("feta-braces-d.scale.pfb");
+
+Open("feta-braces-e.pfb");
+SelectAll();
+Scale(500, 0, 0);
+Generate("feta-braces-e.scale.pfb");
+
+Open("feta-braces-f.pfb");
+SelectAll();
+Scale(600, 0, 0);
+Generate("feta-braces-f.scale.pfb");
+
+Open("feta-braces-g.pfb");
+SelectAll();
+Scale(700, 0, 0);
+Generate("feta-braces-g.scale.pfb");
+
+Open("feta-braces-h.pfb");
+SelectAll();
+Scale(800, 0, 0);
+Generate("feta-braces-h.scale.pfb");
+
+Open("feta-braces-i.pfb");
+SelectAll();
+Scale(900, 0, 0);
+Generate("feta-braces-i.scale.pfb");
+
+
+New()
+
+MergeFonts("feta-braces-a.pfb");
+MergeFonts("feta-braces-b.scale.pfb");
+MergeFonts("feta-braces-c.scale.pfb");
+MergeFonts("feta-braces-d.scale.pfb");
+MergeFonts("feta-braces-e.scale.pfb");
+MergeFonts("feta-braces-f.scale.pfb");
+MergeFonts("feta-braces-g.scale.pfb");
+MergeFonts("feta-braces-h.scale.pfb");
+MergeFonts("feta-braces-i.scale.pfb");
+
+SetFontNames("Emmentaler-Brace-Regular", "Emmentaler-Brace", "Emmentaler-Brace Regular", "Regular", "GNU GPL", "@TOPLEVEL_VERSION@");
+
+i = 0;
+while (i < CharCnt())
+  Select(i);
+# crashes fontforge, use PUA for now -- jcn
+# SetUnicodeValue(i + 0xF0000, 0);
+/*
+PRIVATE AREA
+       In the BMP, the range 0xe000 to 0xf8ff will never be  assigned  to  any
+       characters  by  the standard and is reserved for private usage. For the
+       Linux community, this private area has been subdivided further into the
+       range  0xe000  to 0xefff which can be used individually by any end-user
+       and the Linux zone in the range 0xf000 to 0xf8ff where  extensions  are
+       coordinated  among  all  Linux  users.  The  registry of the characters
+       assigned to the Linux zone is currently maintained by  H.  Peter  Anvin
+       <Peter.Anvin@linux.org>.
+*/
+  SetUnicodeValue(i + 0xE000, 0);
+  ++i;
+endloop
+
+LoadTableFromFile("LILF", "emmentaler-brace.subfonts")
+LoadTableFromFile("LILC", "emmentaler-brace.otf-table")
+LoadTableFromFile("LILY", "emmentaler-brace.otf-gtable")
+
+Generate("emmentaler-brace.otf");
+Generate("emmentaler-brace.svg");
index 4ccecbc7223d454b4fd0e4d9fd115a8ee1725230..ea8424dbe4e77bbb20ae9c581740dc50d119855f 100644 (file)
@@ -285,8 +285,8 @@ for standard flags, @code{'mensural} and @code{'no-flag}, which
 switches off the flag.")
      (font-encoding ,symbol? "The font encoding is the broadest
 category for selecting a font.  Currently, only lilypond's system
-fonts (Emmentaler and Aybabtu) are using this property.  Available
-values are @code{fetaMusic} (Emmentaler), @code{fetaBraces} (Aybabtu),
+fonts (Emmentaler) are using this property.  Available
+values are @code{fetaMusic} (Emmentaler), @code{fetaBraces},
 @code{fetaNumber} (Emmentaler), and @code{fetaDynamic} (Emmentaler).")
      (font-family ,symbol? "The font family is the broadest category
 for selecting text fonts.  Options include: @code{sans},
index d4c119b405ac3ca4e24ddbbe2d442567de5c2e07..ee5b08a4a298a61232eba079d5e494922d031f5a 100644 (file)
 
 ;; 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 factor)
+(define-public (add-music-fonts node name family design-size-list factor)
+  "Setup music fonts.
+
+Arguments:
+ NODE the font tree to modify.
+ NAME is the basename for the music font. NAME-DESIGNSIZE.otf should be the music font,
+  NAME-brace.otf should have piano braces.
+ DESIGN-SIZE-LIST is a list of numbers, used as suffix for font filenames
+ FACTOR is size factor relative to default size that is being used.   This is used
+  to select the proper design size for text fonts.
+"
   (for-each
    (lambda (x)
      (add-font node
    `((fetaDynamic ,(ly:pt 20.0) ,feta-alphabet-size-vector)
      (fetaNumber ,(ly:pt 20.0) ,feta-alphabet-size-vector)
      (fetaMusic ,(ly:pt 20.0)
-               #(
-                 ,(delay (ly:system-font-load (string-append name "-11")))
-                 ,(delay (ly:system-font-load (string-append name "-13")))
-                 ,(delay (ly:system-font-load (string-append name "-14")))
-                 ,(delay (ly:system-font-load (string-append name "-16")))
-                 ,(delay (ly:system-font-load (string-append name "-18")))
-                 ,(delay (ly:system-font-load (string-append name "-20")))
-                 ,(delay (ly:system-font-load (string-append name "-23")))
-                 ,(delay (ly:system-font-load (string-append name "-26")))
-                 ))
+               ,(list->vector
+                 (map (lambda (size)
+                        (delay (ly:system-font-load (format "~a-~a" name size))))
+                      design-size-list
+                      )))
      (fetaBraces ,(ly:pt 20.0)
                 #(,(delay (ly:system-font-load
-                           ;;; TODO: rename aybabtu to emmentaler-brace
-                           (if (string=? name "emmentaler")
-                               "aybabtu"
-                               (string-append name "-brace"))
-                           )))))))
-
+                           (format "~a-brace" name)))))
+     )))
+                
 (define-public (add-pango-fonts node lily-family family factor)
   ;; Synchronized with the `text-font-size' variable in
   ;; layout-set-absolute-staff-size-in-module (see paper.scm).
 
 (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 factor)
-;; Let's not do this [yet], see input/regression/gonville.ly
-;;    (add-music-fonts n "gonville" 'gonville factor)
+    (add-music-fonts n "emmentaler" 'feta '(11 13 14 16 18 20 23 26) 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)
index baacb96124f856885d4e933bd023d216d23cc4d8..cf2eaa50e509cd62e6d8d9e56527532178f63f64 100644 (file)
   (define (internal-font? file-name)
     (or (string-startswith file-name "Emmentaler")
        (string-startswith file-name "emmentaler")
-       (string-startswith file-name "aybabtu")
-       (string-startswith file-name "Aybabtu")))
+       ))
 
   (define (load-font-via-GS font-name-filename)
     (define (ps-load-file file-name)
index 2915ed1108f376fda16a5cdd06ba7892a8d96f45..b68771c1877819b4c86fd239c7406409d713bfb0 100644 (file)
@@ -708,9 +708,7 @@ applied to function @var{getter}.")
                                (string-length font)))
       (let* ((font-name (ly:font-name font))
             (full-name (if font-name font-name (ly:font-file-name font))))
-       (if (string-prefix? "Aybabtu" full-name)
-           "aybabtu"
-           (string-downcase full-name)))))
+       (string-downcase full-name))))
 
 (define-public (modified-font-metric-font-scaling font)
   (let* ((designsize (ly:font-design-size font))