Mercurial > octave
changeset 24899:1a46d174a483 stable
include a proper definition of Octave's private font fallback directory
* configure.ac (octfontsdir): New variable.
* Makefile.am (octfonts_DATA): New variable.
* etc/module.mk (fallback_FONT_FILES): New variable. (octfonts_DATA): Include
it in the list. (%canon_reldir%_EXTRA_DIST): Likewise. (etc_fontsdir): Delete.
* subst-default-vals.in.sh: Substitute octfontsdir for OCTAVE_OCTFONTSDIR.
* default-defs.in.h (OCTAVE_OCTFONTSDIR): New macro.
* defaults.cc, defaults.h (Voct_fonts_dir): New variable. (init_defaults):
Initialize it. (config::oct_fonts_dir): New function.
* toplev.cc: (F__octave_config_info__): Include "octfontsdir" in the struct.
* octave-config.in.cc (help_msg, initialize): Include OCTFONTSDIR in the list.
* ft-text-renderer.cc (ft_manager::do_get_font): Use config::oct_fonts_dir.
Use environment variable name OCTAVE_FONTS_DIR for consistency.
* run-octave.in (OCTAVE_FONTS_DIR): Rename for consistency.
author | Mike Miller <mtmiller@octave.org> |
---|---|
date | Fri, 16 Mar 2018 15:28:34 -0700 |
parents | 91331c76d9c1 |
children | 00d42b86d0a5 |
files | Makefile.am build-aux/subst-default-vals.in.sh configure.ac etc/module.mk libinterp/corefcn/default-defs.in.h libinterp/corefcn/defaults.cc libinterp/corefcn/defaults.h libinterp/corefcn/ft-text-renderer.cc libinterp/corefcn/toplev.cc run-octave.in src/octave-config.in.cc |
diffstat | 11 files changed, 48 insertions(+), 30 deletions(-) [+] |
line wrap: on
line diff
--- a/Makefile.am Fri Mar 16 12:08:46 2018 -0700 +++ b/Makefile.am Fri Mar 16 15:28:34 2018 -0700 @@ -99,6 +99,7 @@ octdata_DATA = octdoc_DATA = octetc_DATA = +octfonts_DATA = octlocale_DATA = DOC_TARGETS =
--- a/build-aux/subst-default-vals.in.sh Fri Mar 16 12:08:46 2018 -0700 +++ b/build-aux/subst-default-vals.in.sh Fri Mar 16 15:28:34 2018 -0700 @@ -63,6 +63,7 @@ octdatadir=`echo "@octdatadir@" | sed "s|^${prefix}/||"` octdocdir=`echo "@octdocdir@" | sed "s|^${prefix}/||"` octetcdir=`echo "@octetcdir@" | sed "s|^${prefix}/||"` +octfontsdir=`echo "@octfontsdir@" | sed "s|^${prefix}/||"` octincludedir=`echo "@octincludedir@" | sed "s|^${prefix}/||"` octlocaledir=`echo "@octlocaledir@" | sed "s|^${prefix}/||"` octtestsdir=`echo "@octtestsdir@" | sed "s|^${prefix}/||"` @@ -103,8 +104,9 @@ -e "s|%OCTAVE_MANDIR%|\"${mandir}\"|" \ -e "s|%OCTAVE_OCTDATADIR%|\"${octdatadir}\"|" \ -e "s|%OCTAVE_OCTDOCDIR%|\"${octdocdir}\"|" \ + -e "s|%OCTAVE_OCTETCDIR%|\"${octetcdir}\"|" \ -e "s|%OCTAVE_OCTFILEDIR%|\"${octfiledir}\"|" \ - -e "s|%OCTAVE_OCTETCDIR%|\"${octetcdir}\"|" \ + -e "s|%OCTAVE_OCTFONTSDIR%|\"${octfontsdir}\"|" \ -e "s|%OCTAVE_OCTINCLUDEDIR%|\"${octincludedir}\"|" \ -e "s|%OCTAVE_OCTLIBDIR%|\"${octlibdir}\"|" \ -e "s|%OCTAVE_OCTLOCALEDIR%|\"${octlocaledir}\"|" \
--- a/configure.ac Fri Mar 16 12:08:46 2018 -0700 +++ b/configure.ac Fri Mar 16 15:28:34 2018 -0700 @@ -170,6 +170,9 @@ ## Where Octave will search for Qt help files shipped with distribution. OCTAVE_SET_DEFAULT([octdocdir], '${datadir}/octave/${version}/doc') +## Where Octave will search for fallback font files shipped with distribution. +OCTAVE_SET_DEFAULT([octfontsdir], '${datadir}/octave/${version}/fonts') + ## Where Octave will look for startup files. OCTAVE_SET_DEFAULT([startupfiledir], '${fcnfiledir}/startup') OCTAVE_SET_DEFAULT([localstartupfiledir], '${localfcnfiledir}/startup') @@ -3197,6 +3200,7 @@ eval imagedir="\"$imagedir\"" eval octdatadir="\"$octdatadir\"" eval octdocdir="\"$octdocdir\"" + eval octfontsdir="\"$octfontsdir\"" eval startupfiledir="\"$startupfiledir\"" eval localstartupfiledir="\"$localstartupfiledir\"" eval man1dir="\"$man1dir\""
--- a/etc/module.mk Fri Mar 16 12:08:46 2018 -0700 +++ b/etc/module.mk Fri Mar 16 15:28:34 2018 -0700 @@ -21,16 +21,17 @@ %reldir%/OLD-ChangeLogs/src-ChangeLog \ %reldir%/OLD-ChangeLogs/test-ChangeLog -etc_fontsdir = $(octetcdir)/fonts - -etc_fonts_DATA = \ +fallback_FONT_FILES = \ %reldir%/fonts/FreeSans.otf \ %reldir%/fonts/FreeSansBold.otf \ %reldir%/fonts/FreeSansBoldOblique.otf \ %reldir%/fonts/FreeSansOblique.otf +octfonts_DATA += \ + $(fallback_FONT_FILES) + %canon_reldir%_EXTRA_DIST += \ - $(etc_fonts_DATA) + $(fallback_FONT_FILES) appdatadir = $(datadir)/metainfo
--- a/libinterp/corefcn/default-defs.in.h Fri Mar 16 12:08:46 2018 -0700 +++ b/libinterp/corefcn/default-defs.in.h Fri Mar 16 15:28:34 2018 -0700 @@ -128,6 +128,10 @@ # define OCTAVE_OCTETCDIR %OCTAVE_OCTETCDIR% #endif +#if ! defined (OCTAVE_OCTFONTSDIR) +# define OCTAVE_OCTFONTSDIR %OCTAVE_OCTFONTSDIR% +#endif + #if ! defined (OCTAVE_OCTINCLUDEDIR) # define OCTAVE_OCTINCLUDEDIR %OCTAVE_OCTINCLUDEDIR% #endif
--- a/libinterp/corefcn/defaults.cc Fri Mar 16 12:08:46 2018 -0700 +++ b/libinterp/corefcn/defaults.cc Fri Mar 16 15:28:34 2018 -0700 @@ -75,6 +75,7 @@ static std::string Voct_data_dir; static std::string Voct_doc_dir; static std::string Voct_etc_dir; +static std::string Voct_fonts_dir; static std::string Voct_include_dir; static std::string Voct_lib_dir; static std::string Voct_locale_dir; @@ -213,6 +214,7 @@ Voct_data_dir = octave::config::prepend_octave_home (OCTAVE_OCTDATADIR); Voct_doc_dir = octave::config::prepend_octave_home (OCTAVE_OCTDOCDIR); Voct_etc_dir = octave::config::prepend_octave_home (OCTAVE_OCTETCDIR); + Voct_fonts_dir = octave::config::prepend_octave_home (OCTAVE_OCTFONTSDIR); Voct_include_dir = octave::config::prepend_octave_home (OCTAVE_OCTINCLUDEDIR); Voct_lib_dir = octave::config::prepend_octave_exec_home (OCTAVE_OCTLIBDIR); Voct_locale_dir = octave::config::prepend_octave_home (OCTAVE_OCTLOCALEDIR); @@ -294,6 +296,7 @@ std::string oct_data_dir (void) { RETURN (Voct_data_dir); } std::string oct_doc_dir (void) { RETURN (Voct_doc_dir); } std::string oct_etc_dir (void) { RETURN (Voct_etc_dir); } + std::string oct_fonts_dir (void) { RETURN (Voct_fonts_dir); } std::string oct_include_dir (void) { RETURN (Voct_include_dir); } std::string oct_lib_dir (void) { RETURN (Voct_lib_dir); } std::string oct_locale_dir (void) { RETURN (Voct_locale_dir); }
--- a/libinterp/corefcn/defaults.h Fri Mar 16 12:08:46 2018 -0700 +++ b/libinterp/corefcn/defaults.h Fri Mar 16 15:28:34 2018 -0700 @@ -79,6 +79,7 @@ extern OCTINTERP_API std::string oct_data_dir (void); extern OCTINTERP_API std::string oct_doc_dir (void); extern OCTINTERP_API std::string oct_etc_dir (void); + extern OCTINTERP_API std::string oct_fonts_dir (void); extern OCTINTERP_API std::string oct_include_dir (void); extern OCTINTERP_API std::string oct_lib_dir (void); extern OCTINTERP_API std::string oct_locale_dir (void);
--- a/libinterp/corefcn/ft-text-renderer.cc Fri Mar 16 12:08:46 2018 -0700 +++ b/libinterp/corefcn/ft-text-renderer.cc Fri Mar 16 15:28:34 2018 -0700 @@ -206,24 +206,23 @@ } #endif - static std::string font_dir; + static std::string fonts_dir; - if (font_dir.empty ()) + if (fonts_dir.empty ()) { - font_dir = sys::env::getenv ("OCTAVE_FONT_DIR"); + fonts_dir = sys::env::getenv ("OCTAVE_FONTS_DIR"); - if (font_dir.empty ()) - font_dir = config::oct_etc_dir () + sys::file_ops::dir_sep_str () - + "fonts"; + if (fonts_dir.empty ()) + fonts_dir = config::oct_fonts_dir (); } // Default font file std::string file; - if (! font_dir.empty ()) + if (! fonts_dir.empty ()) { - file = font_dir + octave::sys::file_ops::dir_sep_str () + "FreeSans"; + file = fonts_dir + octave::sys::file_ops::dir_sep_str () + "FreeSans"; if (weight == "bold") file += "Bold";
--- a/libinterp/corefcn/toplev.cc Fri Mar 16 12:08:46 2018 -0700 +++ b/libinterp/corefcn/toplev.cc Fri Mar 16 15:28:34 2018 -0700 @@ -412,8 +412,9 @@ { "mandir", octave::config::man_dir () }, { "octdatadir", octave::config::oct_data_dir () }, { "octdocdir", octave::config::oct_doc_dir () }, + { "octetcdir", octave::config::oct_etc_dir () }, { "octfiledir", octave::config::oct_file_dir () }, - { "octetcdir", octave::config::oct_etc_dir () }, + { "octfontsdir", octave::config::oct_fonts_dir () }, { "octincludedir", octave::config::oct_include_dir () }, { "octlibdir", octave::config::oct_lib_dir () }, { "octtestsdir", octave::config::oct_tests_dir () },
--- a/run-octave.in Fri Mar 16 12:08:46 2018 -0700 +++ b/run-octave.in Fri Mar 16 15:28:34 2018 -0700 @@ -104,7 +104,7 @@ OCTAVE_ARCHLIBDIR="$builddir/src"; export OCTAVE_ARCHLIBDIR OCTAVE_BINDIR="$builddir/src"; export OCTAVE_BINDIR OCTAVE_DEFAULT_QT_SETTINGS="$builddir/libgui/default-qt-settings"; export OCTAVE_DEFAULT_QT_SETTINGS -OCTAVE_FONT_DIR="$top_srcdir/etc/fonts"; export OCTAVE_FONT_DIR +OCTAVE_FONTS_DIR="$top_srcdir/etc/fonts"; export OCTAVE_FONTS_DIR OCTAVE_JAVA_DIR="$builddir/scripts/java"; export OCTAVE_JAVA_DIR OCTAVE_LOCALE_DIR="$builddir/libgui/languages"; export OCTAVE_LOCALE_DIR OCTAVE_QTHELP_COLLECTION="$builddir/doc/interpreter/octave_interpreter.qhc"; export OCTAVE_QTHELP_COLLECTION
--- a/src/octave-config.in.cc Fri Mar 16 12:08:46 2018 -0700 +++ b/src/octave-config.in.cc Fri Mar 16 15:28:34 2018 -0700 @@ -64,25 +64,26 @@ " -p VAR, --print VAR Print the value of the given configuration\n" " variable VAR. Recognized variables are:\n" "\n" -" API_VERSION LOCALARCHLIBDIR\n" -" ARCHLIBDIR LOCALFCNFILEDIR\n" -" BINDIR LOCALOCTFILEDIR\n" -" CANONICAL_HOST_TYPE LOCALSTARTUPFILEDIR\n" -" DATADIR LOCALVERARCHLIBDIR\n" -" DATAROOTDIR LOCALVERFCNFILEDIR\n" -" DEFAULT_PAGER LOCALVEROCTFILEDIR\n" -" EXEC_PREFIX MAN1DIR\n" -" EXEEXT MAN1EXT\n" -" FCNFILEDIR MANDIR\n" -" IMAGEDIR OCTAVE_EXEC_HOME\n" -" INCLUDEDIR OCTAVE_HOME\n" -" INFODIR OCTDATADIR\n" -" INFOFILE OCTDOCDIR\n" -" LIBDIR OCTFILEDIR\n" +" API_VERSION LOCALFCNFILEDIR\n" +" ARCHLIBDIR LOCALOCTFILEDIR\n" +" BINDIR LOCALSTARTUPFILEDIR\n" +" CANONICAL_HOST_TYPE LOCALVERARCHLIBDIR\n" +" DATADIR LOCALVERFCNFILEDIR\n" +" DATAROOTDIR LOCALVEROCTFILEDIR\n" +" DEFAULT_PAGER MAN1DIR\n" +" EXEC_PREFIX MAN1EXT\n" +" EXEEXT MANDIR\n" +" FCNFILEDIR OCTAVE_EXEC_HOME\n" +" IMAGEDIR OCTAVE_HOME\n" +" INCLUDEDIR OCTDATADIR\n" +" INFODIR OCTDOCDIR\n" +" INFOFILE OCTFILEDIR\n" +" LIBDIR OCTFONTSDIR\n" " LIBEXECDIR OCTINCLUDEDIR\n" " LOCALAPIARCHLIBDIR OCTLIBDIR\n" " LOCALAPIFCNFILEDIR STARTUPFILEDIR\n" " LOCALAPIOCTFILEDIR VERSION\n" +" LOCALARCHLIBDIR\n" "\n" " -v, --version Print the Octave version number.\n" "\n"; @@ -128,6 +129,7 @@ vars["OCTDATADIR"] = prepend_octave_home (%OCTAVE_OCTDATADIR%); vars["OCTDOCDIR"] = prepend_octave_home (%OCTAVE_OCTDOCDIR%); vars["OCTFILEDIR"] = prepend_octave_exec_home (%OCTAVE_OCTFILEDIR%); + vars["OCTFONTSDIR"] = prepend_octave_home (%OCTAVE_OCTFONTSDIR%); vars["OCTINCLUDEDIR"] = prepend_octave_home (%OCTAVE_OCTINCLUDEDIR%); vars["OCTLIBDIR"] = prepend_octave_exec_home (%OCTAVE_OCTLIBDIR%); vars["STARTUPFILEDIR"] = prepend_octave_home (%OCTAVE_STARTUPFILEDIR%);