2005-04-06 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ * mf/aybabtu.pe.in (i): generate PFAAybabtu.pfa
+
+ * buildscripts/gen-emmentaler-scripts.py (i): generate
+ PFAEmmentaler as well.
+
+ * scm/framework-ps.scm (munge-lily-font-name): new function
+ (write-preamble): hack: insert PFA equivalent of CFF into
+ .PS. This makes LilyPond output printable on normal PS printers
+ again.
+
+ * buildscripts/gen-emmentaler-scripts.py (i): generate
+ PFAEmmentaler.pfa aswell.
+
* scripts/lilypond-book.py: refactor the compose_ly procedure.
Patch by John Williams.
Generate("%(filename)s-%(design_size)d.otf");
Generate("%(filename)s-%(design_size)d.cff");
Generate("%(filename)s-%(design_size)d.svg");
+SetFontNames("PFA%(name)s-%(design_size)d", "PFA%(name)s", "PFA%(name)s %(design_size)d", "%(design_size)d", "GNU GPL", "@TOPLEVEL_VERSION@");
+
+# different name to prevent conflict with OTF
+Generate("PFA%(filename)s-%(design_size)d.pfa");
''' % vars()
basename = '%s-%d' % (filename, design_size)
OTF_FILES = $(addsuffix .otf, $(addprefix $(outdir)/emmentaler-, $(STAFF_SIZES)))\
$(outdir)/aybabtu.otf
+PFA_OTF_FILES = $(addsuffix .pfa, $(addprefix $(outdir)/PFAemmentaler-, $(STAFF_SIZES)))\
+ $(outdir)/PFAaybabtu.pfa
PE_SCRIPTS = $(addsuffix .pe, $(addprefix $(outdir)/emmentaler-, $(STAFF_SIZES))) \
$(addsuffix .dep, $(addprefix $(outdir)/emmentaler-, $(STAFF_SIZES)))
OTF_TABLES = $(addsuffix .otf-table, $(addprefix $(outdir)/feta, $(STAFF_SIZES))) \
ALL_FONTS = $(FETA_FONTS) $(SAUTER_FONTS)
-PFA_FILES = $(ALL_FONTS:%=$(outdir)/%.pfa)
+PFA_FILES = $(ALL_FONTS:%=$(outdir)/%.pfa) $(PFA_OTF_FILES)
# Make tfm files first, log files last,
# so that normally log files aren't made twice
for i in $(FETA_FONTS); do echo "/$$i ($$i.pfa);" ; done > $@
for i in $(STAFF_SIZES); \
do echo "/Emmentaler-$$i (emmentaler-$$i.cff.ps);" ; done \
+ do echo "/PFAEmmentaler-$$i (PFAemmentaler-$$i.pfa);" ; done \
>> $@
echo "/Aybabtu (aybabtu.cff.ps);" >> $@
-
+ echo "/PFAAybabtu (PFAaybabtu.pfa);" >> $@
local-clean:
rm -f mfplain.mem mfplain.log
Generate("aybabtu.otf");
Generate("aybabtu.cff");
Generate("aybabtu.svg");
+SetFontNames("PFAAybabtu-Regular", "PFAAybabtu", "PFAAybabtu Regular", "Regular", "GNU GPL", "@TOPLEVEL_VERSION@");
+Generate("PFAaybabtu.pfa");
(define mm-to-bigpoint
(/ 72 25.4))
-(define-public (ps-font-command font . override-coding)
- (let* ((name (ly:font-file-name font))
+(define-public (ps-font-command font)
+ (let* ((name (munge-lily-font-name (ly:font-file-name font)))
(magnify (ly:font-magnification font)))
(string-append
- "magfont" (string-encode-integer (hashq name 1000000))
+ "magfont" (string-encode-integer (hash name 1000000))
"m" (string-encode-integer (inexact->exact (round (* 1000 magnify)))))))
(define (tex-font? fontname)
(define (font-load-command font)
(let* ((specced-font-name (ly:font-name font))
(fontname (if specced-font-name
- specced-font-name
+ (munge-lily-font-name specced-font-name)
(ly:font-file-name font)))
(command (ps-font-command font))
;; FIXME -- see (ps-font-command )
- (plain (ps-font-command font #f))
+ (plain (ps-font-command font))
(designsize (ly:font-design-size font))
(magnification (* (ly:font-magnification font)))
(ops (ly:output-def-lookup paper 'outputscale))
"init-lilypond-parameters\n"
"%%EndSetup\n"))
+(define-public (munge-lily-font-name name)
+ (regexp-substitute/global #f "([eE]mmentaler|[aA]ybabtu)" name 'pre "PFA" 1 'post))
+
(define (write-preamble paper load-fonts? port)
(define (load-fonts paper)
(let* ((fonts (ly:paper-fonts paper))
(cffname (string-append x ".cff.ps"))
(cff-file-name (ly:find-file cffname))
)
+
+
(cond
((and bare-file-name (string-match "\\.pfa" bare-file-name))
(cached-file-contents bare-file-name))
((and bare-file-name (string-match "\\.pfb" bare-file-name))
(ly:pfb->pfa bare-file-name))
+
+ ((string-match "([eE]mmentaler|[Aa]ybabtu)" x)
+ (cached-file-contents
+ (format "~a.pfa" (munge-lily-font-name x))))
+
((and bare-file-name
- (string-match "\\.(otf|cff)" bare-file-name))
+ (string-match "\\.(otf|cff)" bare-file-name))
; replace with the CFF.ps, which lives in a
; separate subdir.