[highly experimental GUILE 2 support. Default: off])],
[GUILEv2=$enableval])
-AC_ARG_WITH(ncsb-dir,
- [AS_HELP_STRING([--with-ncsb-dir=DIR],
- [location of Century Schoolbook fonts.])],
+AC_ARG_WITH(fonts-dir,
+ [AS_HELP_STRING([--with-fonts-dir=DIR],
+ [location of URW++ fonts.])],
[NCSB_DIR=$withval],
[NCSB_DIR=""])
STEPMAKE_COMPILE
AC_CHECK_PROG(FCLIST, fc-list, fc-list)
-AC_MSG_CHECKING([for New Century Schoolbook PFB files])
+AC_MSG_CHECKING([for Century Schoolbook L PFB files])
AC_SUBST(NCSB_SOURCE_FILES)
AC_SUBST(NCSB_DIR)
if test "$NCSB_DIR" = ""; then
fi
if test "$NCSB_DIR" = "" -o "$MISSING_NCSB_SOURCE_FILES" != "$INCOMPLETE_NCSB_SOURCE_FILES"; then
AC_MSG_RESULT(no)
- STEPMAKE_ADD_ENTRY(REQUIRED,International New Century Schoolbook fonts)
+ STEPMAKE_ADD_ENTRY(REQUIRED,International Century Schoolbook L fonts)
if test "$NCSB_DIR" = ""; then
if test "$FCLIST" = ""; then
- STEPMAKE_ADD_ENTRY(REQUIRED,'(install the fc-list utility from FontConfig, or use --with-ncsb-dir)')
+ STEPMAKE_ADD_ENTRY(REQUIRED,'(install the fc-list utility from FontConfig, or use --with-fonts-dir)')
else
- STEPMAKE_ADD_ENTRY(REQUIRED,'(make sure the fc-list utility can see them, or use --with-ncsb-dir)')
+ STEPMAKE_ADD_ENTRY(REQUIRED,'(make sure the fc-list utility can see them, or use --with-fonts-dir)')
fi
fi
if test "$MISSING_NCSB_SOURCE_FILES" != ""; then
AC_MSG_RESULT(yes)
fi
+AC_MSG_CHECKING([for Nimbus Sans L (Helvetica) PFB files])
+AC_SUBST(HELV_SOURCE_FILES)
+if test "$NCSB_DIR" != "" ; then
+ for f in n019003l.pfb n019004l.pfb n019023l.pfb n019024l.pfb; do
+ if test ! -f "$NCSB_DIR/$f"; then
+ MISSING_HELV_SOURCE_FILES="$f $MISSING_HELV_SOURCE_FILES"
+ else
+ if test "`grep Cyrillic "$NCSB_DIR/$f"`" = ""; then
+ INCOMPLETE_HELV_SOURCE_FILES="$f $INCOMPLETE_HELV_SOURCE_FILES"
+ else
+ HELV_SOURCE_FILES="$NCSB_DIR/$f $HELV_SOURCE_FILES"
+ fi
+ fi
+ done
+fi
+if test "$NCSB_DIR" = "" -o "$MISSING_HELV_SOURCE_FILES" != "$INCOMPLETE_HELV_SOURCE_FILES"; then
+ AC_MSG_RESULT(no)
+ STEPMAKE_ADD_ENTRY(REQUIRED,International Nimbus Sans L fonts)
+ if test "$MISSING_HELV_SOURCE_FILES" != ""; then
+ STEPMAKE_ADD_ENTRY(REQUIRED,'(these files are missing: $MISSING_HELV_SOURCE_FILES)')
+ fi
+ if test "$INCOMPLETE_HELV_SOURCE_FILES" != ""; then
+ STEPMAKE_ADD_ENTRY(REQUIRED,'(these files do not contain Cyrillic characters: $INCOMPLETE_HELV_SOURCE_FILES)')
+ fi
+else
+ AC_MSG_RESULT(yes)
+fi
+
+AC_MSG_CHECKING([for Nimbus Mono L (Courier) PFB files])
+AC_SUBST(COUR_SOURCE_FILES)
+if test "$NCSB_DIR" != "" ; then
+ for f in n022003l.pfb n022004l.pfb n022023l.pfb n022024l.pfb; do
+ if test ! -f "$NCSB_DIR/$f"; then
+ MISSING_COUR_SOURCE_FILES="$f $MISSING_COUR_SOURCE_FILES"
+ else
+ if test "`grep Cyrillic "$NCSB_DIR/$f"`" = ""; then
+ INCOMPLETE_COUR_SOURCE_FILES="$f $INCOMPLETE_COUR_SOURCE_FILES"
+ else
+ COUR_SOURCE_FILES="$NCSB_DIR/$f $COUR_SOURCE_FILES"
+ fi
+ fi
+ done
+fi
+if test "$NCSB_DIR" = "" -o "$MISSING_COUR_SOURCE_FILES" != "$INCOMPLETE_COUR_SOURCE_FILES"; then
+ AC_MSG_RESULT(no)
+ STEPMAKE_ADD_ENTRY(REQUIRED,International Nimbus Mono L fonts)
+ if test "$MISSING_COUR_SOURCE_FILES" != ""; then
+ STEPMAKE_ADD_ENTRY(REQUIRED,'(these files are missing: $MISSING_COUR_SOURCE_FILES)')
+ fi
+ if test "$INCOMPLETE_COUR_SOURCE_FILES" != ""; then
+ STEPMAKE_ADD_ENTRY(REQUIRED,'(these files do not contain Cyrillic characters: $INCOMPLETE_COUR_SOURCE_FILES)')
+ fi
+else
+ AC_MSG_RESULT(yes)
+fi
+
AC_LANG([C++])
STEPMAKE_PYTHON(REQUIRED, 2.4, 3.0)
CenturySchL-Roma.otf \
CenturySchL-Bold.otf)
+HELV_OTFS = $(addprefix $(outdir)/,NimbusSanL-ReguItal.otf \
+ NimbusSanL-BoldItal.otf \
+ NimbusSanL-Regu.otf \
+ NimbusSanL-Bold.otf)
+
+COUR_OTFS = $(addprefix $(outdir)/,NimbusMonL-ReguObli.otf \
+ NimbusMonL-BoldObli.otf \
+ NimbusMonL-Regu.otf \
+ NimbusMonL-Bold.otf)
+
LOG_FILES = $(FETA_MF_FILES:%.mf=$(outdir)/%.log)
LISP_FILES = $(FETA_MF_FILES:%.mf=$(outdir)/%.lisp)
ENC_FILES = $(FETA_MF_FILES:%.mf=$(outdir)/%.enc)
ALL_GEN_FILES = $(ENC_FILES) \
$(NCSB_OTFS) \
+ $(HELV_OTFS) \
+ $(COUR_OTFS) \
$(OTF_FILES) \
$(SVG_FILES) \
$(WOFF_FILES)
INSTALLATION_OUT_DIR1 = $(local_lilypond_datadir)/fonts/otf
INSTALLATION_OUT_FILES1 = $(OTF_FILES) \
- $(NCSB_OTFS)
+ $(NCSB_OTFS) $(HELV_OTFS) $(COUR_OTFS)
INSTALLATION_OUT_DIR2 = $(local_lilypond_datadir)/fonts/svg
INSTALLATION_OUT_FILES2 = $(SVG_FILES) $(WOFF_FILES)
CenturySchL-Bold.otf \
CenturySchL-BoldItal.otf): $(outdir)/CenturySchL-Roma.otf
$(UPDATE_TARGET)
+
+$(outdir)/NimbusSanL-Regu.otf: $(HELV_SOURCE_FILES) \
+ $(auxscript-dir)/pfx2ttf.fontforge
+ $(foreach i, $(basename $(HELV_SOURCE_FILES)), \
+ $(FONTFORGE) -script $(auxscript-dir)/pfx2ttf.fontforge \
+ $(i).pfb $(i).afm $(outdir)/ && ) true
+
+$(addprefix $(outdir)/,NimbusSanL-ReguItal.otf \
+ NimbusSanL-Bold.otf \
+ NimbusSanL-BoldItal.otf): $(outdir)/NimbusSanL-Regu.otf
+ $(UPDATE_TARGET)
+
+$(outdir)/NimbusMonL-Regu.otf: $(COUR_SOURCE_FILES) \
+ $(auxscript-dir)/pfx2ttf-mono.fontforge
+ $(foreach i, $(basename $(COUR_SOURCE_FILES)), \
+ $(FONTFORGE) -script $(auxscript-dir)/pfx2ttf-mono.fontforge \
+ $(i).pfb $(i).afm $(outdir)/ && ) true
+
+$(addprefix $(outdir)/,NimbusMonL-ReguObli.otf \
+ NimbusMonL-Bold.otf \
+ NimbusMonL-BoldObli.otf): $(outdir)/NimbusMonL-Regu.otf
+ $(UPDATE_TARGET)
--- /dev/null
+Open($1);
+MergeKern($2)
+
+
+# The AFM files of `New Century Schoolbook' family as distributed within the
+# urw-fonts-1.0.7pre41.tar.bz2 archive contain a bunch of ligatures which
+# shouldn't be active by default:
+#
+# T + M -> trademark
+# N + o -> afii61352
+# i + j -> ij
+# I + J -> IJ
+#
+# This font bundle is shipped by Fedora Core 6 and other GNU/Linux
+# distributions; we simply remove those ligatures.
+
+# Monospace font shouldn't have these ligature.
+#
+# f + i -> fi
+# f + l -> fl
+
+SelectIf("trademark", "trademark", \
+ "afii61352", "afii61352", \
+ "ij", "ij", \
+ "IJ", "IJ", \
+ "fi", "fi", \
+ "fl", "fl");
+if (Strtol($version) < 20070501)
+ RemoveATT("Ligature", "*", "*");
+else
+ RemovePosSub("*");
+endif
+
+Generate($3 + $fontname + ".otf");
+
+# EOF