* lily/lily-guile.cc (LY_DEFINE): make ly:gulp-file binary proof.
+2004-12-12 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * scm/framework-ps.scm (ps-embed-cff): new function.
+
+ * lily/lily-guile.cc (LY_DEFINE): make ly:gulp-file binary proof.
+
2004-12-12 Werner Lemberg <wl@gnu.org>
* mf/bigcheese.pe.in: Add PUA mapping.
"The file is looked up using the search path.")
{
SCM_ASSERT_TYPE (scm_is_string (name), name, SCM_ARG1, __FUNCTION__, "string");
- return scm_makfrom0str (gulp_file_to_string (ly_scm2string (name),
- true).to_str0 ());
-
+ String contents = gulp_file_to_string (ly_scm2string (name), true);
+
+ char * data ;
+ SCM scm_str = scm_i_make_string (contents.length(), &data);
+ memcpy (data, contents.get_bytes(), contents.length());
+
+ return scm_str;
}
MergeFonts("feta-nummer10.pfa");
MergeFonts("feta-din14.pfa");
MergeKern("feta-din14.tfm");
+
LoadTableFromFile("LILC", "feta20.otf-table")
i = 0;
while (i < CharCnt())
SetUnicodeValue(i + 0xF000, 0);
++i;
endloop
+
Generate("bigcheese20.otf");
Generate("bigcheese20.cff");
,(delay (ly:make-virtual-font
(ly:font-load "feta18")
(ly:font-load "parmesan18")))
- ,(delay (ly:make-virtual-font
- (ly:font-load "feta20")
- (ly:font-load "parmesan20")))
+; ,(delay (ly:make-virtual-font
+; (ly:font-load "feta20")
+; (ly:font-load "parmesan20")))
,(delay (ly:make-virtual-font (ly:font-load "bigcheese20")))
,(delay (ly:make-virtual-font
(ly:font-load "feta23")
(equal? (substring fontname 0 2) "cm")
(equal? (substring fontname 0 2) "ec")))
+(define (ps-embed-cff body font-set-name version)
+ (string-append
+ (format
+ "%!PS-Adobe-3.0 Resource-FontSet
+%%DocumentNeededResources: ProcSet (FontSetInit)
+%%EndComments
+%%IncludeResource: ProcSet (FontSetInit)
+%%BeginResource: FontSet (~a)
+%%Title: (FontSet/~a)
+%%Version: ~s
+/FontSetInit /ProcSet findresource begin
+%%BeginData: ~s Binary Bytes
+/~a ~s StartData "
+ font-set-name font-set-name version 0 font-set-name (string-length body)
+ )
+
+ body
+
+ "%%EndData
+%%EndResource
+%%EOF
+"
+
+ ))
+
+(display (ly:gulp-file "/home/hanwen/usr/src/lilypond/mf/out/bigcheese20.cff"))
+
+
(define (load-fonts paper)
(let* ((fonts (ly:paper-fonts paper))
(font-names (uniq-list (sort (map ly:font-file-name fonts) string<?)))
(pfas (map
(lambda (x)
-
- (let* ((t42name (string-append x ".t42"))
+ (let* ((cffname (string-append x ".cff"))
(aname (string-append x ".pfa"))
(bname (string-append x ".pfb"))
- (t42path (ly:find-file t42name))
+ (cffpath (ly:find-file cffname))
(apath (ly:kpathsea-find-file aname))
(bpath (ly:kpathsea-find-file bname)))
+ (display (list x cffpath))
(cond
- (t42path (ly:gulp-file t42path))
+ (cffpath (ps-embed-cff (ly:gulp-file cffpath) x 0))
(apath (ly:gulp-file apath))
(bpath (ly:pfb->pfa bpath))
(else