* scm/output-ps.scm (define-fonts): remove hack for feta/parmesan.
* lily/font-metric.cc (LY_DEFINE): change to ly:font-filename
2004-04-09 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ * lily/font-metric.cc (LY_DEFINE): new function, return fontName.
+
+ * scm/output-ps.scm (define-fonts): remove hack for feta/parmesan.
+
* lily/font-metric.cc (LY_DEFINE): change to ly:font-filename
* scm/encoding.scm (coding-alist): add AdobeStandardEncoding
export GS_LIB=$(pwd)/mf/out:/usr/share/texmf/fonts/type1/bluesky/cm
lilypond-bin -fps input/title/title-markup.ly
+
+for utopia font,
+
+ cp /usr/share/fonts/afms/adobe/putb8a.afm -> mf/out/
+ cp /usr/share/fonts/afms/adobe/put8a.afm -> mf/out/
+ cp /usr/share/fonts/default/ghostscript/put.pfa mf/out/put8a.pfa
+ cp /usr/share/fonts/default/ghostscript/putb.pfa mf/out/putb8a.pfa
+
%}
\paper{
return scm_cons (ly_interval2scm (b[X_AXIS]), ly_interval2scm (b[Y_AXIS]));
}
-LY_DEFINE (ly_font_name,"ly:font-filename",
+LY_DEFINE (ly_font_filename,"ly:font-filename",
1, 0, 0,
(SCM font),
"Given the font metric @var{font}, "
return ly_car (fm->description_);
}
+
+#include "afm.hh"
+
+LY_DEFINE (ly_font_name,"ly:font-name",
+ 1, 0, 0,
+ (SCM font),
+ "Given the font metric @var{font}, "
+ "return the corresponding file name.")
+{
+ Font_metric *fm = unsmob_metrics (font);
+
+ SCM_ASSERT_TYPE (fm, font, SCM_ARG1, __FUNCTION__, "font-metric");
+
+
+ if (Modified_font_metric* mfm = dynamic_cast<Modified_font_metric*> (fm))
+ return ly_font_name (mfm->original_font ()->self_scm ());
+ else if (Adobe_font_metric* afm = dynamic_cast<Adobe_font_metric*> (fm))
+ {
+ return scm_makfrom0str (afm->font_info_->gfi->fontName);
+ }
+ else
+ return SCM_BOOL_F;
+}
+
+
+
LY_DEFINE (ly_font_magnification,"ly:font-magnification", 1 , 0, 0,
(SCM font),
"Given the font metric @var{font}, return the "
virtual int name_to_index (String) const;
virtual String coding_scheme () const;
+ virtual Font_metric * original_font () const;
protected:
SCM coding_table_;
SCM coding_mapping_;
SCM coding_description_;
- friend SCM ly_font_encoding(SCM);
+ friend SCM ly_font_encoding_alist (SCM);
virtual Real design_size () const;
virtual void derived_mark () const;
-LY_DEFINE (ly_font_encoding, "ly:font-encoding-alist",
+LY_DEFINE (ly_font_encoding_alist, "ly:font-encoding-alist",
1, 0, 0,
(SCM font),
"Given the Modified_font_metric @var{font}, return an "
return b;
}
+
+Font_metric*
+Modified_font_metric::original_font () const
+{
+ return orig_;
+}
;; FIXME: we need proper Fontmap for the bluesky CM*, EC* fonts.
;; Only the fonts that we trace in mf/ are in our own FontMap.
(string-append basename ".pfb"))
- ((or (equal? (substring basename 0 4) "feta")
- (equal? (substring basename 0 4) "parm"))
- (regexp-substitute/global
- #f "(feta|parmesan)([a-z-]*)([0-9]+)"
- basename 'pre "GNU-LilyPond-" 1 2 "-" 3 'post))
- (else basename)))
+ (else (string-append basename ".pfa"))
+ ))
(define (font-load-command paper font)
- (let* ((basename (ly:font-filename font))
- (fontname (guess-ps-fontname basename))
+ (let* ((specced-font-name (ly:font-name font))
+ (fontname (if specced-font-name
+ specced-font-name
+ (guess-ps-fontname (ly:font-filename font))))
+
(coding-alist (ly:font-encoding-alist font))
(input-encoding (assoc-get 'input-name coding-alist))
(font-encoding (assoc-get 'output-name coding-alist))