From b133adce8270d81c959b1f98663942f227b83201 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sun, 12 Dec 2004 19:12:40 +0000 Subject: [PATCH] * mf/bigcheese.pe.in (i): Map to 0xe000 (PUA) for testing, which does not crash fontforge. * scm/lily-library.scm (char->unicode-index): Hack to map onto PUA. --- ChangeLog | 8 ++++++++ mf/bigcheese.pe.in | 22 ++++++++++++++++++++-- scm/framework-gnome.scm | 5 ++++- scm/lily-library.scm | 16 ++++++++++++++-- scm/output-gnome.scm | 4 ++-- 5 files changed, 48 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 64fffb33f5..81958846b2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2004-12-12 Jan Nieuwenhuizen + + * mf/bigcheese.pe.in (i): Map to 0xe000 (PUA) for testing, which + does not crash fontforge. + + * scm/lily-library.scm (char->unicode-index): Hack to map onto + PUA. + 2004-12-12 Han-Wen Nienhuys * scm/framework-ps.scm (ps-embed-cff): new function. diff --git a/mf/bigcheese.pe.in b/mf/bigcheese.pe.in index e8222070f4..5ed72f949e 100644 --- a/mf/bigcheese.pe.in +++ b/mf/bigcheese.pe.in @@ -3,7 +3,9 @@ New(); # Separate Feta versioning? -SetFontNames("bigcheese20", "LilyPond", "LilyPondBigCheese", "Regular", "GNU GPL", "@TOPLEVEL_VERSION@"); +# Naming: * expose LilyPond20/LilyPond rather than bigcheese +# * using 20 as Weight works for gnome-font-select widget: gfs +SetFontNames("bigcheese20", "LilyPond", "LilyPond BigCheese 20", "20", "GNU GPL", "@TOPLEVEL_VERSION@"); MergeFonts("feta20.pfa"); MergeFonts("parmesan20.pfa"); @@ -12,10 +14,26 @@ MergeFonts("feta-din14.pfa"); MergeKern("feta-din14.tfm"); LoadTableFromFile("LILC", "feta20.otf-table") + +# Hmm, how do we keep feta-din and feta-nummer mapped on ascii positions? +# That's much more convenient for using in a text processor. --jcn i = 0; while (i < CharCnt()) Select(i); - SetUnicodeValue(i + 0xF000, 0); +# 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 + . +*/ + SetUnicodeValue(i + 0xE000, 0); ++i; endloop diff --git a/scm/framework-gnome.scm b/scm/framework-gnome.scm index 5ca0f8da17..d11ebbbe7b 100644 --- a/scm/framework-gnome.scm +++ b/scm/framework-gnome.scm @@ -192,7 +192,10 @@ "lilypond-feta-braces-g" "lilypond-feta-braces-h" "lilypond-feta-braces-i" - "lilypond-parmesan")) + "lilypond-parmesan" + ;;"lilypond" + ;;"bigcheese20" + )) (dump-page go 0) diff --git a/scm/lily-library.scm b/scm/lily-library.scm index acf7ff41e1..1124f65f14 100644 --- a/scm/lily-library.scm +++ b/scm/lily-library.scm @@ -343,8 +343,20 @@ possibly turned off." (ly:font-file-name font))))) (define-public (char->unicode-index font char) - (+ (case (ly:font-encoding font) + ;; (format (current-error-port) "UNICODE:~S:~S:~S\n" + ;; font (ly:font-encoding font) (char->integer char)) + ;; (force-output (current-error-port)) + (+ (case (ly:font-encoding font) ((fetaMusic) (- #xe000 #x20)) ((fetaBraces) (- #xe000 #x40)) - (else 0)) + ((fetaBraces) (- #xe000 #x40)) + ;;(else 0)) + ;; FIXME: bigcheese says FontSpecific + (else (if (string=? (font-family font) "bigcheese20") + ;;#xf000 0))) + ;; ugh, we must know which font from bigcheese; + ;; feta-proper starts at 0xe0e3 + ;; but we cannot display feta-nummer or feta-din characters + ;; this way + #xe0e3 0))) (char->integer char))) diff --git a/scm/output-gnome.scm b/scm/output-gnome.scm index aef6b645d6..c5689033aa 100644 --- a/scm/output-gnome.scm +++ b/scm/output-gnome.scm @@ -377,7 +377,7 @@ lilypond -fgnome input/simple-song.ly ;; Hmm, family is bigcheese20? (if (string=? family "bigcheese20") (begin (debugf "BIGCHEESE\n") - "LilyPond") + "LilyPond, 20") family))) (define (pango-font-size font) @@ -418,4 +418,4 @@ lilypond -fgnome input/simple-song.ly #:size-set #t #:text (if (char? s) (char->utf8-string font s) - (string->utf8-string font s))))) + (string->utf8-string font s))))) \ No newline at end of file -- 2.39.5