finished merge of cairocanvas with windows and windows+cc branches
This commit is contained in:
commit
658bb3ccd4
|
@ -759,7 +759,7 @@ ARDOUR_UI::starting ()
|
|||
nsm->check ();
|
||||
|
||||
Glib::usleep (i);
|
||||
if (nsm->is_active())
|
||||
if (nsm->is_active()) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -770,9 +770,8 @@ ARDOUR_UI::starting ()
|
|||
// wait for open command from nsm server
|
||||
for ( i = 0; i < 5000; ++i) {
|
||||
nsm->check ();
|
||||
|
||||
Glib::usleep (1000);
|
||||
if (nsm->client_id ())
|
||||
if (nsm->client_id ()) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,13 +19,9 @@
|
|||
|
||||
#ifdef COMPILER_MSVC
|
||||
#include <float.h>
|
||||
|
||||
// 'std::isinf()' and 'std::isnan()' are not available in MSVC.
|
||||
/* isinf() & isnan() are C99 standards, which older MSVC doesn't provide */
|
||||
#define isinf(val) !((bool)_finite((double)val))
|
||||
#define isnan(val) (bool)_isnan((double)val)
|
||||
#else
|
||||
using std::isnan;
|
||||
using std::isinf;
|
||||
#endif
|
||||
|
||||
#include <cmath>
|
||||
|
|
|
@ -93,7 +93,7 @@ ExportRangeMarkersDialog::process_range_markers_export(Locations::LocationList&
|
|||
if(gtk_events_pending()){
|
||||
gtk_main_iteration();
|
||||
}else {
|
||||
usleep(10000);
|
||||
Glib::usleep(10000);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -33,6 +33,7 @@
|
|||
#include <pthread.h>
|
||||
#include <signal.h>
|
||||
#include <glib.h>
|
||||
#include <glibmm/timer.h>
|
||||
|
||||
#include "ardour/linux_vst_support.h"
|
||||
|
||||
|
@ -377,7 +378,7 @@ void* gui_event_loop (void* ptr)
|
|||
|
||||
/*We don't want to use all the CPU.. */
|
||||
|
||||
usleep(1000);
|
||||
Glib::usleep(1000);
|
||||
|
||||
LXVST_sched_event_timer++;
|
||||
|
||||
|
@ -706,7 +707,7 @@ vstfx_launch_editor (VSTState* vstfx)
|
|||
/*QUIRK - some plugins need a slight delay after opening the editor before you can
|
||||
ask the window size or they might return zero - specifically discoDSP */
|
||||
|
||||
usleep(100000);
|
||||
Glib::usleep(100000);
|
||||
|
||||
/*Now we can find out how big the parent window should be (and try) to resize it*/
|
||||
|
||||
|
|
|
@ -141,7 +141,7 @@ LXVSTPluginUI::get_XID ()
|
|||
*/
|
||||
|
||||
while (!(_vst->state()->been_activated)) {
|
||||
usleep (1000);
|
||||
Glib::usleep (1000);
|
||||
}
|
||||
|
||||
int const id = _vst->state()->xid;
|
||||
|
|
|
@ -175,8 +175,8 @@ fixup_bundle_environment (int, char* [])
|
|||
export_search_path (bundle_dir, "VAMP_PATH", "/lib");
|
||||
export_search_path (bundle_dir, "GTK_PATH", "/lib/gtkengines");
|
||||
|
||||
setenv ("SUIL_MODULE_DIR", (bundle_dir + "/lib").c_str(), 1);
|
||||
setenv ("PATH", (bundle_dir + "/MacOS:" + std::string(getenv ("PATH"))).c_str(), 1);
|
||||
g_setenv ("SUIL_MODULE_DIR", (bundle_dir + "/lib").c_str(), 1);
|
||||
g_setenv ("PATH", (bundle_dir + "/MacOS:" + std::string(g_getenv ("PATH"))).c_str(), 1);
|
||||
|
||||
/* unset GTK_RC_FILES so that we only load the RC files that we define
|
||||
*/
|
||||
|
@ -285,8 +285,8 @@ fixup_bundle_environment (int /*argc*/, char* argv[])
|
|||
export_search_path (dir_path, "VAMP_PATH", "/lib");
|
||||
export_search_path (dir_path, "GTK_PATH", "/lib/gtkengines");
|
||||
|
||||
setenv ("SUIL_MODULE_DIR", (dir_path + "/lib").c_str(), 1);
|
||||
setenv ("PATH", (dir_path + "/bin:" + std::string(getenv ("PATH"))).c_str(), 1);
|
||||
g_setenv ("SUIL_MODULE_DIR", (dir_path + "/lib").c_str(), 1);
|
||||
g_setenv ("PATH", (dir_path + "/bin:" + std::string(g_getenv ("PATH"))).c_str(), 1);
|
||||
|
||||
/* unset GTK_RC_FILES so that we only load the RC files that we define
|
||||
*/
|
||||
|
|
|
@ -20,13 +20,9 @@
|
|||
|
||||
#ifdef COMPILER_MSVC
|
||||
#include <float.h>
|
||||
|
||||
// 'std::isinf()' and 'std::isnan()' are not available in MSVC.
|
||||
/* isinf() & isnan() are C99 standards, which older MSVC doesn't provide */
|
||||
#define isinf(val) !((bool)_finite((double)val))
|
||||
#define isnan(val) (bool)_isnan((double)val)
|
||||
#else
|
||||
using std::isnan;
|
||||
using std::isinf;
|
||||
#endif
|
||||
|
||||
#include "plugin_eq_gui.h"
|
||||
|
|
|
@ -540,7 +540,7 @@ SystemExec::terminate ()
|
|||
|
||||
if (pid) {
|
||||
::kill(pid, SIGTERM);
|
||||
::usleep(50000);
|
||||
usleep(50000);
|
||||
sched_yield();
|
||||
wait(WNOHANG);
|
||||
}
|
||||
|
|
|
@ -30,6 +30,15 @@
|
|||
#define STDERR_FILENO 2
|
||||
#endif
|
||||
|
||||
#if defined (__MINGW64__)
|
||||
#include <windows.h>
|
||||
|
||||
#ifdef interface
|
||||
#undef interface // VKamyshniy: to avoid "include/giomm-2.4/giomm/dbusmessage.h:270:94: error: expected ',' or '...' before 'struct'"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#include <string>
|
||||
#include <pthread.h>
|
||||
#include <signal.h>
|
||||
|
|
|
@ -325,7 +325,7 @@ extern "C" {
|
|||
struct A3MemoryStruct chunk;
|
||||
long int httpstatus;
|
||||
if (status) *status = 0;
|
||||
//usleep(500000); return NULL; // TEST & DEBUG
|
||||
//Glib::usleep(500000); return NULL; // TEST & DEBUG
|
||||
if (strncmp("http://", u, 7)) return NULL;
|
||||
|
||||
chunk.data=NULL;
|
||||
|
|
|
@ -3,6 +3,7 @@ from waflib.extras import autowaf as autowaf
|
|||
from waflib import Options, TaskGen
|
||||
import waflib.Logs as Logs, waflib.Utils as Utils
|
||||
import os
|
||||
import shutil
|
||||
import sys
|
||||
import re
|
||||
import time
|
||||
|
@ -630,7 +631,7 @@ def build(bld):
|
|||
obj.install_path = None
|
||||
set_subst_dict(obj, light_rc_subst_dict)
|
||||
|
||||
obj = bld(rule = 'cp ${SRC} ${TGT}')
|
||||
obj = bld(rule = autowaf.copyfile)
|
||||
obj.source = [ 'ardour3_widget_list.rc' ]
|
||||
obj.target = 'ardour3_widgets.rc'
|
||||
obj.install_path = None
|
||||
|
@ -672,11 +673,15 @@ def build(bld):
|
|||
# 'SAE-de-keypad', 'SAE-de-nokeypad', 'SAE-us-keypad',
|
||||
# 'SAE-us-nokeypad', 'ergonomic-us'
|
||||
|
||||
#
|
||||
# explicitly state the use of perl here so that it works on windows too
|
||||
#
|
||||
a_rule = 'perl ../tools/fmt-bindings --platform="%s" --winkey="%s" --accelmap <${SRC} >${TGT}' % (sys.platform, bld.env['WINDOWS_KEY'] )
|
||||
for b in [ 'mnemonic-us' ] :
|
||||
obj = bld(
|
||||
target = b + '.bindings',
|
||||
source = b + '.bindings.in',
|
||||
rule = '../tools/fmt-bindings --platform="%s" --winkey="%s" --accelmap <${SRC} >${TGT}' % (sys.platform, bld.env['WINDOWS_KEY'] )
|
||||
rule = a_rule
|
||||
)
|
||||
obj.install_path = os.path.join(bld.env['SYSCONFDIR'], 'ardour3')
|
||||
|
||||
|
|
|
@ -35,6 +35,7 @@ namespace PBD {
|
|||
LIBARDOUR_API extern uint64_t SnapBBT;
|
||||
LIBARDOUR_API extern uint64_t Configuration;
|
||||
LIBARDOUR_API extern uint64_t Latency;
|
||||
LIBARDOUR_API extern uint64_t Peaks;
|
||||
LIBARDOUR_API extern uint64_t Processors;
|
||||
LIBARDOUR_API extern uint64_t ProcessThreads;
|
||||
LIBARDOUR_API extern uint64_t Graph;
|
||||
|
|
|
@ -27,6 +27,7 @@ namespace ARDOUR {
|
|||
|
||||
LIBARDOUR_API extern const char* const old_sound_dir_name;
|
||||
LIBARDOUR_API extern const char* const sound_dir_name;
|
||||
LIBARDOUR_API extern const char* const ladspa_dir_name;
|
||||
LIBARDOUR_API extern const char* const midi_dir_name;
|
||||
LIBARDOUR_API extern const char* const midi_patch_dir_name;
|
||||
LIBARDOUR_API extern const char* const video_dir_name;
|
||||
|
|
|
@ -109,7 +109,7 @@ public:
|
|||
|
||||
boost::shared_ptr<Region> region;
|
||||
|
||||
SessionEvent (Type t, Action a, framepos_t when, framepos_t where, double spd, bool yn = false, bool yn2 = false, bool yn3 = false)
|
||||
SessionEvent (Type t, Action a, framepos_t when, framepos_t where, double spd, bool yn = false, bool yn2 = false, bool yn3 = false)
|
||||
: type (t)
|
||||
, action (a)
|
||||
, action_frame (when)
|
||||
|
@ -151,7 +151,7 @@ private:
|
|||
friend class Butler;
|
||||
};
|
||||
|
||||
class LIBARDOUR_API SessionEventManager {
|
||||
class SessionEventManager {
|
||||
public:
|
||||
SessionEventManager () : pending_events (2048),
|
||||
auto_loop_event(0), punch_out_event(0), punch_in_event(0) {}
|
||||
|
|
|
@ -88,7 +88,7 @@ AudioBuffer::check_silence (pframes_t nframes, bool wholebuffer, pframes_t& n) c
|
|||
|
||||
void
|
||||
AudioBuffer::silence (framecnt_t len, framecnt_t offset) {
|
||||
pframes_t n = 0;
|
||||
|
||||
if (!_silent) {
|
||||
assert(_capacity > 0);
|
||||
assert(offset + len <= _capacity);
|
||||
|
|
|
@ -1789,7 +1789,7 @@ AudioDiskstream::get_state ()
|
|||
LocaleGuard lg (X_("POSIX"));
|
||||
|
||||
boost::shared_ptr<ChannelList> c = channels.reader();
|
||||
snprintf (buf, sizeof(buf), "%zd", c->size());
|
||||
snprintf (buf, sizeof(buf), "%u", (unsigned int) c->size());
|
||||
node.add_property ("channels", buf);
|
||||
|
||||
if (!capturing_sources.empty() && _session.get_record_enabled()) {
|
||||
|
|
|
@ -1414,7 +1414,7 @@ IO::find_port_hole (const char* base)
|
|||
std::vector<char> buf (AudioEngine::instance()->port_name_size());
|
||||
PortSet::iterator i = _ports.begin();
|
||||
|
||||
snprintf (&buf[0], jack_port_name_size(), _("%s %u"), base, n);
|
||||
snprintf (&buf[0], buf.size()+1, _("%s %u"), base, n);
|
||||
|
||||
for ( ; i != _ports.end(); ++i) {
|
||||
if (string(i->name()) == string(&buf[0])) {
|
||||
|
|
|
@ -309,11 +309,7 @@ MTC_Slave::update_mtc_time (const MIDI::byte *msg, bool was_full, framepos_t now
|
|||
to use a timestamp indicating when this MTC time was received. example: when we received
|
||||
a locate command via MMC.
|
||||
*/
|
||||
#ifdef COMPILER_MSVC
|
||||
DEBUG_TRACE (DEBUG::MTC, string_compose ("MTC::update_mtc_time - TID:%1\n", ::pthread_self().p));
|
||||
#else
|
||||
DEBUG_TRACE (DEBUG::MTC, string_compose ("MTC::update_mtc_time - TID:%1\n", ::pthread_self()));
|
||||
#endif
|
||||
DEBUG_TRACE (DEBUG::MTC, string_compose ("MTC::update_mtc_time - TID:%1\n", pthread_name()));
|
||||
TimecodeFormat tc_format;
|
||||
bool reset_tc = true;
|
||||
|
||||
|
|
|
@ -35,14 +35,11 @@ Searchpath
|
|||
panner_search_path ()
|
||||
{
|
||||
Searchpath spath(user_config_directory ());
|
||||
|
||||
spath += ardour_dll_directory ();
|
||||
spath.add_subdirectory_to_paths(panner_dir_name);
|
||||
<<<<<<< HEAD
|
||||
spath += SearchPath(Glib::getenv(panner_env_variable_name));
|
||||
=======
|
||||
|
||||
spath += Searchpath(Glib::getenv(panner_env_variable_name));
|
||||
>>>>>>> windows+cc
|
||||
|
||||
return spath;
|
||||
}
|
||||
|
||||
|
|
|
@ -136,14 +136,7 @@ Session::pre_engine_init (string fullpath)
|
|||
|
||||
/* discover canonical fullpath */
|
||||
|
||||
char buf[PATH_MAX+1];
|
||||
if (!realpath (fullpath.c_str(), buf) && (errno != ENOENT)) {
|
||||
error << string_compose(_("Could not use path %1 (%2)"), buf, strerror(errno)) << endmsg;
|
||||
destroy ();
|
||||
throw failed_constructor();
|
||||
}
|
||||
|
||||
_path = string(buf);
|
||||
_path = canonical_path(fullpath);
|
||||
|
||||
/* we require _path to end with a dir separator */
|
||||
|
||||
|
|
|
@ -0,0 +1,53 @@
|
|||
#include <iostream>
|
||||
|
||||
#include "ardour/audioengine.h"
|
||||
#include "ardour/audio_backend.h"
|
||||
#include "ardour/backend_search_path.h"
|
||||
|
||||
#include "audio_engine_test.h"
|
||||
#include "test_common.h"
|
||||
|
||||
CPPUNIT_TEST_SUITE_REGISTRATION (AudioEngineTest);
|
||||
|
||||
using namespace std;
|
||||
using namespace ARDOUR;
|
||||
using namespace PBD;
|
||||
|
||||
void
|
||||
print_audio_backend_info (AudioBackendInfo const* abi)
|
||||
{
|
||||
cerr << "Audio Backend, name:" << abi->name << endl;
|
||||
}
|
||||
|
||||
void
|
||||
AudioEngineTest::test_backends ()
|
||||
{
|
||||
AudioEngine* engine = AudioEngine::create ();
|
||||
|
||||
CPPUNIT_ASSERT (engine);
|
||||
|
||||
std::vector<AudioBackendInfo const *> backends = engine->available_backends ();
|
||||
|
||||
CPPUNIT_ASSERT (backends.size () != 0);
|
||||
|
||||
for (std::vector<AudioBackendInfo const *>::const_iterator i = backends.begin();
|
||||
i != backends.end(); ++i) {
|
||||
print_audio_backend_info(*i);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
AudioEngineTest::test_start ()
|
||||
{
|
||||
AudioEngine* engine = AudioEngine::create ();
|
||||
|
||||
CPPUNIT_ASSERT_NO_THROW (engine->set_default_backend ());
|
||||
|
||||
init_post_engine ();
|
||||
|
||||
CPPUNIT_ASSERT (engine->start () == 0);
|
||||
|
||||
// sleep
|
||||
// stop
|
||||
// destroy
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
#include <cppunit/TestFixture.h>
|
||||
#include <cppunit/extensions/HelperMacros.h>
|
||||
|
||||
class AudioEngineTest : public CppUnit::TestFixture
|
||||
{
|
||||
CPPUNIT_TEST_SUITE (AudioEngineTest);
|
||||
CPPUNIT_TEST (test_backends);
|
||||
CPPUNIT_TEST (test_start);
|
||||
CPPUNIT_TEST_SUITE_END ();
|
||||
|
||||
public:
|
||||
void test_backends ();
|
||||
void test_start ();
|
||||
};
|
|
@ -259,9 +259,6 @@ def configure(conf):
|
|||
autowaf.check_pkg(conf, 'sigc++-2.0', uselib_store='SIGCPP',
|
||||
atleast_version='2.0')
|
||||
|
||||
if re.search ("linux", sys.platform) != None:
|
||||
autowaf.check_pkg(conf, 'alsa', uselib_store='ALSA')
|
||||
|
||||
if Options.options.lv2:
|
||||
autowaf.check_pkg(conf, 'lv2', uselib_store='LV2',
|
||||
atleast_version='1.0.0', mandatory=True)
|
||||
|
@ -445,6 +442,7 @@ def build(bld):
|
|||
testcommon.source += [ 'sse_functions_64bit.s' ]
|
||||
|
||||
if bld.env['SINGLE_TESTS']:
|
||||
create_ardour_test_program(bld, obj.includes, 'audio_engine_test', 'test_audio_engine', ['test/audio_engine_test.cc'])
|
||||
create_ardour_test_program(bld, obj.includes, 'automation_list_property_test', 'test_automation_list_property', ['test/automation_list_property_test.cc'])
|
||||
create_ardour_test_program(bld, obj.includes, 'bbt', 'test_bbt', ['test/bbt_test.cc'])
|
||||
create_ardour_test_program(bld, obj.includes, 'tempo', 'test_tempo', ['test/tempo_test.cc'])
|
||||
|
@ -463,6 +461,7 @@ def build(bld):
|
|||
create_ardour_test_program(bld, obj.includes, 'session_test', 'test_session', ['test/session_test.cc'])
|
||||
|
||||
test_sources = '''
|
||||
test/audio_engine_test.cc
|
||||
test/automation_list_property_test.cc
|
||||
test/bbt_test.cc
|
||||
test/tempo_test.cc
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
#include <boost/scoped_ptr.hpp>
|
||||
#include <jack/session.h>
|
||||
|
||||
#include <glibmm/timer.h>
|
||||
|
||||
#include "pbd/epa.h"
|
||||
|
||||
#include "jack_connection.h"
|
||||
|
@ -145,7 +147,7 @@ JackConnection::close ()
|
|||
_jack = 0;
|
||||
|
||||
/* If we started JACK, it will be closing down */
|
||||
usleep (500000);
|
||||
Glib::usleep (500000);
|
||||
|
||||
Disconnected (""); /* EMIT SIGNAL */
|
||||
|
||||
|
|
|
@ -25,6 +25,8 @@
|
|||
#include <jack/jack.h>
|
||||
#include <jack/transport.h>
|
||||
|
||||
#include "pbd/localtime_r.h"
|
||||
|
||||
#include "ardour/audioengine.h"
|
||||
#include "ardour/filename_extensions.h"
|
||||
#include "ardour/session.h"
|
||||
|
|
|
@ -891,11 +891,7 @@ ARDOUR::get_jack_command_line_string (JackCommandLineOptions& options, string& c
|
|||
ostringstream oss;
|
||||
|
||||
for (vector<string>::const_iterator i = args.begin(); i != args.end();) {
|
||||
#ifdef WIN32
|
||||
oss << quote_string (*i);
|
||||
#else
|
||||
oss << *i;
|
||||
#endif
|
||||
if (++i != args.end()) oss << ' ';
|
||||
}
|
||||
|
||||
|
|
|
@ -20,6 +20,8 @@ def options(opt):
|
|||
autowaf.set_options(opt)
|
||||
|
||||
def configure(conf):
|
||||
autowaf.check_pkg(conf, 'jack', uselib_store='JACK', atleast_version='0.121.0')
|
||||
|
||||
#
|
||||
# PortAudio is currently used to get a list of audio device names.
|
||||
# We should find a better way to do this that doesn't involve this
|
||||
|
@ -43,7 +45,7 @@ def build(bld):
|
|||
obj.includes = ['.']
|
||||
obj.name = 'jack_audiobackend'
|
||||
obj.target = 'jack_audiobackend'
|
||||
if Options.options.dist_target == 'mingw':
|
||||
if (bld.env['build_target'] == 'mingw'):
|
||||
obj.uselib = [ 'JACK', 'PORTAUDIO' ]
|
||||
else:
|
||||
obj.uselib = [ 'JACK' ]
|
||||
|
|
|
@ -87,7 +87,7 @@ def build(bld):
|
|||
if bld.is_defined ('INTERNAL_SHARED_LIBS'):
|
||||
obj = bld.shlib(features = 'c cxx cshlib cxxshlib', source=gtkmm2ext_sources)
|
||||
# defines for this library
|
||||
obj.defines = [ 'LIBGTKMM2EXT_DLL_EXPORTS=1' ]
|
||||
obj.defines = [ 'LIBGTKMM2EXT_DLL_EXPORTS', 'ABSTRACT_UI_EXPORTS' ]
|
||||
obj.cxxflags = [ '-fvisibility=hidden' ]
|
||||
obj.cflags = [ '-fvisibility=hidden' ]
|
||||
else:
|
||||
|
|
|
@ -39,11 +39,14 @@ FPU::FPU ()
|
|||
|
||||
_flags = Flags (0);
|
||||
|
||||
#if defined(__MINGW64__) // Vkamyshniy: under __MINGW64__ the assembler code below is not compiled
|
||||
return;
|
||||
#endif
|
||||
|
||||
#if !( (defined __x86_64__) || (defined __i386__) ) // !ARCH_X86
|
||||
return;
|
||||
#else
|
||||
|
||||
|
||||
#ifndef _LP64 //USE_X86_64_ASM
|
||||
asm volatile (
|
||||
"mov $1, %%eax\n"
|
||||
|
|
|
@ -33,12 +33,57 @@
|
|||
using std::string;
|
||||
using std::vector;
|
||||
|
||||
#ifdef COMPILER_MINGW
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <glibmm.h>
|
||||
|
||||
/****************************************************************
|
||||
* Emulate POSIX realpath() using Win32 _fullpath() since realpath()
|
||||
* is not available.
|
||||
*
|
||||
* Returns:
|
||||
* On Success: A pointer to the resolved (absolute) path
|
||||
* On Failure: 0 (NULL)
|
||||
*/
|
||||
|
||||
static char*
|
||||
realpath (const char *original_path, char resolved_path[_MAX_PATH+1])
|
||||
{
|
||||
char *rpath = 0;
|
||||
bool bIsSymLink = false; // We'll probably need to test the incoming path
|
||||
// to find out if it points to a Windows shortcut
|
||||
// (or a hard link) and set this appropriately.
|
||||
|
||||
if (bIsSymLink) {
|
||||
// At the moment I'm not sure if Windows '_fullpath()' is directly
|
||||
// equivalent to POSIX 'realpath()' - in as much as the latter will
|
||||
// resolve the supplied path if it happens to point to a symbolic
|
||||
// link ('_fullpath()' probably DOESN'T do this but I'm not really
|
||||
// sure if Ardour needs such functionality anyway). Therefore we'll
|
||||
// possibly need to add that functionality here at a later date.
|
||||
} else {
|
||||
char temp[(_MAX_PATH+1)*6]; // Allow for maximum length of a path in wchar characters
|
||||
|
||||
// POSIX 'realpath()' requires that the buffer size is at
|
||||
// least PATH_MAX+1, so assume that the user knew this !!
|
||||
|
||||
rpath = _fullpath (temp, Glib::locale_from_utf8 (original_path).c_str(), _MAX_PATH);
|
||||
|
||||
if (0 != rpath) {
|
||||
snprintf (resolved_path, _MAX_PATH+1, "%s", Glib::locale_to_utf8 (temp).c_str());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return (rpath);
|
||||
}
|
||||
|
||||
#endif // COMPILER_MINGW
|
||||
|
||||
string
|
||||
PBD::canonical_path (const std::string& path)
|
||||
{
|
||||
#ifdef COMPILER_MINGW
|
||||
return path;
|
||||
#else
|
||||
char buf[PATH_MAX+1];
|
||||
|
||||
if (!realpath (path.c_str(), buf) && (errno != ENOENT)) {
|
||||
|
@ -46,7 +91,6 @@ PBD::canonical_path (const std::string& path)
|
|||
}
|
||||
|
||||
return string (buf);
|
||||
#endif
|
||||
}
|
||||
|
||||
string
|
||||
|
|
|
@ -52,7 +52,7 @@
|
|||
class Touchable;
|
||||
|
||||
template<typename RequestObject>
|
||||
class /*ABSTRACT_UI_API*/ AbstractUI : public BaseUI /* see notes in visibility.h about why this is not LIBPBD_API */
|
||||
class ABSTRACT_UI_API AbstractUI : public BaseUI
|
||||
{
|
||||
public:
|
||||
AbstractUI (const std::string& name);
|
||||
|
@ -75,7 +75,7 @@ class /*ABSTRACT_UI_API*/ AbstractUI : public BaseUI /* see notes in visibility.
|
|||
};
|
||||
typedef typename RequestBuffer::rw_vector RequestBufferVector;
|
||||
|
||||
#if defined(__MINGW32__)
|
||||
#if defined(__MINGW32__) && !defined (__MINGW64__)
|
||||
|
||||
struct pthread_cmp
|
||||
{
|
||||
|
|
|
@ -34,6 +34,79 @@ def build(bld):
|
|||
if bld.is_defined('USE_EXTERNAL_LIBS'):
|
||||
return
|
||||
|
||||
# the story: taglib distributes its headers all over the place then copies them
|
||||
# into place during an install. but we're not planning to do an install. so this
|
||||
# doesn't work when code does #include <taglib/foo.h>.
|
||||
#
|
||||
# one approach is to store symlinks in the repository. but this breaks on windows
|
||||
# where symlink support and git are not very well developed (if at all)
|
||||
#
|
||||
# the approach here is to copy the header files as part of the build step, if necessary
|
||||
|
||||
headers = [
|
||||
'./ape/apefooter.h',
|
||||
'./ape/apeitem.h',
|
||||
'./ape/apetag.h',
|
||||
'./mpeg/id3v2/frames/attachedpictureframe.h',
|
||||
'./mpeg/id3v2/frames/commentsframe.h',
|
||||
'./flac/flacfile.h',
|
||||
'./flac/flacproperties.h',
|
||||
'./mpeg/id3v2/frames/generalencapsulatedobjectframe.h',
|
||||
'./mpeg/id3v1/id3v1genres.h',
|
||||
'./mpeg/id3v1/id3v1tag.h',
|
||||
'./mpeg/id3v2/id3v2extendedheader.h',
|
||||
'./mpeg/id3v2/id3v2footer.h',
|
||||
'./mpeg/id3v2/id3v2framefactory.h',
|
||||
'./mpeg/id3v2/id3v2frame.h',
|
||||
'./mpeg/id3v2/id3v2header.h',
|
||||
'./mpeg/id3v2/id3v2synchdata.h',
|
||||
'./mpeg/id3v2/id3v2tag.h',
|
||||
'./mpc/mpcfile.h',
|
||||
'./mpc/mpcproperties.h',
|
||||
'./mpeg/mpegfile.h',
|
||||
'./mpeg/mpegheader.h',
|
||||
'./mpeg/mpegproperties.h',
|
||||
'./ogg/oggfile.h',
|
||||
'./ogg/flac/oggflacfile.h',
|
||||
'./ogg/oggpage.h',
|
||||
'./ogg/oggpageheader.h',
|
||||
'./mpeg/id3v2/frames/relativevolumeframe.h',
|
||||
'./ogg/speex/speexfile.h',
|
||||
'./ogg/speex/speexproperties.h',
|
||||
'./toolkit/taglib.h',
|
||||
'./toolkit/tbytevector.h',
|
||||
'./toolkit/tbytevectorlist.h',
|
||||
'./toolkit/tdebug.h',
|
||||
'./mpeg/id3v2/frames/textidentificationframe.h',
|
||||
'./toolkit/tfile.h',
|
||||
'./toolkit/tlist.h',
|
||||
'toolkit/tlist.tcc',
|
||||
'./toolkit/tmap.h',
|
||||
'toolkit/tmap.tcc',
|
||||
'./trueaudio/trueaudiofile.h',
|
||||
'./trueaudio/trueaudioproperties.h',
|
||||
'./toolkit/tstring.h',
|
||||
'./toolkit/tstringlist.h',
|
||||
'./toolkit/unicode.h',
|
||||
'./mpeg/id3v2/frames/uniquefileidentifierframe.h',
|
||||
'./mpeg/id3v2/frames/unknownframe.h',
|
||||
'./mpeg/id3v2/frames/unsynchronizedlyricsframe.h',
|
||||
'./mpeg/id3v2/frames/urllinkframe.h',
|
||||
'./ogg/vorbis/vorbisfile.h',
|
||||
'./ogg/vorbis/vorbisproperties.h',
|
||||
'./wavpack/wavpackfile.h',
|
||||
'./wavpack/wavpackproperties.h',
|
||||
'./mpeg/xingheader.h',
|
||||
'./ogg/xiphcomment.h',
|
||||
]
|
||||
|
||||
for h in headers:
|
||||
tgt = bld.path.get_bld().make_node (os.path.join ('taglib', os.path.basename (h)))
|
||||
if not os.path.exists (tgt.bldpath()):
|
||||
bld (rule = autowaf.copyfile,
|
||||
source = bld.path.make_node (os.path.join ('taglib', h)),
|
||||
target = tgt)
|
||||
|
||||
# Library
|
||||
obj = bld(features = 'cxx cxxshlib')
|
||||
sources = bld.path.ant_glob('taglib/*.cpp')
|
||||
|
@ -69,7 +142,7 @@ def build(bld):
|
|||
taglib/ogg/speex
|
||||
taglib/ogg/flac
|
||||
'''.split()
|
||||
obj.export_includes = ['.', 'taglib', 'taglib/toolkit']
|
||||
obj.export_includes = ['.', 'taglib' ]
|
||||
obj.includes = include_dirs
|
||||
obj.defines = ['MAKE_TAGLIB_LIB']
|
||||
obj.name = 'libtaglib'
|
||||
|
|
|
@ -10,6 +10,7 @@ import glob
|
|||
import os
|
||||
import subprocess
|
||||
import sys
|
||||
import shutil
|
||||
|
||||
from waflib import Configure, Context, Logs, Node, Options, Task, Utils
|
||||
from waflib.TaskGen import feature, before, after
|
||||
|
@ -91,6 +92,12 @@ def set_options(opt, debug_by_default=False):
|
|||
help="LV2 bundles [Default: LIBDIR/lv2]")
|
||||
g_step = 1
|
||||
|
||||
def copyfile (task):
|
||||
# a cross-platform utility for copying files as part of tasks
|
||||
src = task.inputs[0].abspath()
|
||||
tgt = task.outputs[0].abspath()
|
||||
shutil.copy2 (src, tgt)
|
||||
|
||||
def check_header(conf, lang, name, define='', mandatory=True):
|
||||
"Check for a header"
|
||||
includes = '' # search default system include paths
|
||||
|
|
|
@ -1,41 +0,0 @@
|
|||
|
||||
Fedora Packages are installed via $ yum install foobar
|
||||
|
||||
wine, needed to run some tests during the configure process
|
||||
|
||||
mingw32-gcc
|
||||
|
||||
mingw32-libogg
|
||||
|
||||
mingw32-flac not in repo <- requires libogg
|
||||
|
||||
mingw32-libvorbis
|
||||
|
||||
mingw32-libsndfile not in repo <- requires flac, vorbis
|
||||
mingw32-libsamplerate not in repo <- requires sndfile for examples?
|
||||
|
||||
mingw32-gtkmm24, this will pull in all the gtk+ deps etc
|
||||
|
||||
mingw32-gtk2-engines not in repo <- provides clearlooks
|
||||
|
||||
mingw32-libglade2, required for gnomecanvas
|
||||
|
||||
mingw32-libart_lgpl not in repo
|
||||
mingw32-libgnomecanvas not in repo <- requires libart, libglade2
|
||||
mingw32-libgnomecanvasmm not in repo <- requires
|
||||
|
||||
mingw32-portaudio not in repo
|
||||
|
||||
mingw32-jack-audio-connection-kit not in repo
|
||||
|
||||
mingw32-fftw not in repo
|
||||
|
||||
mingw32-curl
|
||||
|
||||
Optional
|
||||
|
||||
mingw32-cppunit, if tests enabled
|
||||
mingw32-gdb, for debugging
|
||||
|
||||
qemu-kvm to run virt images
|
||||
|
|
@ -1,15 +1,15 @@
|
|||
Building Ardour for Windows
|
||||
|
||||
The windows build is compiled and tested with the MinGW compiler that is
|
||||
packaged in Fedora, Currently using Fedora 16. There are many cross compiled
|
||||
"mingw" libraries that Ardour requires that are also available on Fedora but
|
||||
packaged in Fedora, Currently using Fedora 19. There are many cross compiled
|
||||
"mingw" libraries that Ardour requires that are available on Fedora but
|
||||
not all are yet.
|
||||
|
||||
|
||||
Prerequisites
|
||||
|
||||
Follow instructions in Fedora-16.txt to build and/or install the required
|
||||
packages.
|
||||
For setting up the required packages to build Ardour refer to the README
|
||||
file located at https://github.com/mojofunk/fedora-mingw-ardour
|
||||
|
||||
|
||||
Configuring
|
||||
|
@ -28,6 +28,8 @@ These scripts both source the mingw-env.sh script to setup the appropriate
|
|||
environment variables and then call waf with a specific set of parameters
|
||||
that are appropriate to configure for the windows build.
|
||||
|
||||
There is also configure-distcc-debug.sh and configure-distcc-release.sh that
|
||||
configure to use distcc for building.
|
||||
|
||||
Building
|
||||
|
||||
|
@ -44,6 +46,14 @@ windows executable. This could probably be done in the waf scripts specifically
|
|||
for the windows build but I felt it simpler to do it in the packaging script
|
||||
for now.
|
||||
|
||||
--------- NOTE --------------------
|
||||
|
||||
package_win32.sh is an updated/extended version of package.sh from Valeriy. It
|
||||
should probably be merged with package.sh at some point. It uses a number of
|
||||
additional resources located under mingw64/
|
||||
|
||||
-----------------------------------
|
||||
|
||||
The packaging script then copies the JACK deamon and all the required mingw
|
||||
shared libraries from the host system into the packaging directory. The
|
||||
shared libraries or dll's are placed in the same directory as the Ardour
|
||||
|
@ -73,8 +83,8 @@ in a separate terminal(Command Prompt) before starting Ardour so that they are
|
|||
not both writing to the same terminal. This will probably be fixed at some point
|
||||
so when jackd is started by Ardour the output is redirected etc.
|
||||
|
||||
The cptovm.sh and startvm.sh scripts are intended for testing Ardour in a
|
||||
Windows XP virt image and may need to be altered to be used successfully.
|
||||
The cptovmshare.sh script will copy the package to a directory specified in the
|
||||
ARDOUR_VM_SHARE_DIR for testing in a virtual machine.
|
||||
|
||||
|
||||
Testing
|
||||
|
@ -82,6 +92,8 @@ Testing
|
|||
When configured for debugging there are a number of test programs(prefixed with
|
||||
test_) included in the package.
|
||||
|
||||
The tests for libpbd, libevoral and libardour can be run under wine from the
|
||||
windows packaging directory using the wine-*-tests.sh scripts
|
||||
|
||||
Debugging
|
||||
|
||||
|
@ -92,17 +104,43 @@ When configured for debugging the package contains gdb along with a .gdbinit
|
|||
file to automatically set the source directory so that the "list" gdb command
|
||||
will show the source code corresponding to the current stack frame.
|
||||
|
||||
Use break `Somenamespace::somepartialsymbolname + tab to list symbols, then remove
|
||||
` to set break. If you press tab with when there are thousands of possible
|
||||
matching symbols be prepared to wait a long time(this can also cause gdb to use a
|
||||
lot of memory).
|
||||
New versions of gdb will not load a .gdbinit file unless it is located in the directory
|
||||
set in the HOME environment variable and auto-load safe-path is set appropriately.
|
||||
|
||||
For reasons I've yet to determine many symbols are not accessible so the best way
|
||||
to set a breakpoint is by using filename and line number.
|
||||
So the gdbinit_home file needs to be moved to directory set in %USERPROFILE% and
|
||||
gdb started via gdb.bat for source file listing to work.
|
||||
|
||||
The gdb batch scripts cannot be used if the package directory is on a network share
|
||||
so the package will need to be copied to a local drive first.
|
||||
|
||||
When starting gdb using gdb.bat the Ardour executable needs to be set as the program
|
||||
to be debugged with the "file" command
|
||||
|
||||
e.g (gdb) file ardour-3.5.exe
|
||||
|
||||
You can then set a break point at main() with the "break" command as usual
|
||||
|
||||
e.g (gdb) break main
|
||||
|
||||
To set a breakpoint in a dll/shared library like libardour you need to wait for
|
||||
the symbols to be loaded which only occurs once the program has been executed using
|
||||
the "run" command
|
||||
|
||||
You can set a breakpoint at a function
|
||||
|
||||
e.g break `Somenamespace::somepartialsymbolname + tab to list symbols
|
||||
|
||||
then remove ` to set the breakpoint.
|
||||
|
||||
If you press tab with when there are thousands of possible matching symbols be
|
||||
prepared to wait a long time(this can also cause gdb to use a lot of memory).
|
||||
For this reason I prefer to set breakpoints by specifying the source file and line
|
||||
number.
|
||||
|
||||
e.g (gdb) break audiosource.cc:976
|
||||
|
||||
but this seems to only work after running Ardour at least once.
|
||||
using "catch throw" or "catch catch" can be useful to break at points where exceptions
|
||||
are thrown or caught.
|
||||
|
||||
They are a number of glib debugging options see
|
||||
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
#!/bin/bash
|
||||
|
||||
. ./mingw-env.sh
|
||||
|
||||
export CC="distcc $HOST-gcc"
|
||||
export CPP="distcc $HOST-g++"
|
||||
export CXX="distcc $HOST-g++"
|
||||
|
||||
. ./print-env.sh
|
||||
|
||||
cd $BASE || exit 1
|
||||
./waf configure --prefix="/" --bindir="/" --configdir="/share" --noconfirm --no-lv2 --test --single-tests --dist-target=mingw "$@"
|
|
@ -0,0 +1,12 @@
|
|||
#!/bin/bash
|
||||
|
||||
. ./mingw-env.sh
|
||||
|
||||
export CC="distcc $HOST-gcc"
|
||||
export CPP="distcc $HOST-g++"
|
||||
export CXX="distcc $HOST-g++"
|
||||
|
||||
. ./print-env.sh
|
||||
|
||||
cd $BASE || exit 1
|
||||
./waf configure --prefix="/" --bindir="/" --configdir="/share" --optimize --noconfirm --no-lv2 --dist-target=mingw "$@"
|
|
@ -1,62 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
. ./mingw-env.sh
|
||||
|
||||
TMP_DIR=tmp
|
||||
LOOP_DEV=/dev/loop4
|
||||
|
||||
cd $BASE || exit 1
|
||||
|
||||
if [ ! -d $TMP_DIR ]; then
|
||||
echo "Creating temp directory to mount vm image ..."
|
||||
mkdir $TMP_DIR || exit 1
|
||||
fi
|
||||
|
||||
echo "mounting vm image as loopback device ..."
|
||||
|
||||
sudo mount -o loop=$LOOP_DEV,offset=32256 $VIRT_IMAGE_PATH $TMP_DIR || exit 1
|
||||
|
||||
if [ -d $TMP_DIR/$PACKAGE_DIR ]; then
|
||||
echo "Removing old copy of $PACKAGE_DIR from vm image ..."
|
||||
rm -rf $TMP_DIR/$PACKAGE_DIR || exit 1
|
||||
fi
|
||||
|
||||
echo "Copying $PACKAGE_DIR to vm image ..."
|
||||
cp -r $PACKAGE_DIR $TMP_DIR || exit 1
|
||||
|
||||
if [ "$1" == "--data" ]; then
|
||||
DATA_DIR=data
|
||||
|
||||
if [ -d $TMP_DIR/$DATA_DIR ]; then
|
||||
echo "Removing old copy of $DATA_DIR from vm image ..."
|
||||
rm -rf $TMP_DIR/$DATA_DIR || exit 1
|
||||
fi
|
||||
|
||||
echo "Copying $DATA_DIR to vm image ..."
|
||||
cp -r $DATA_DIR $TMP_DIR || exit 1
|
||||
fi
|
||||
|
||||
|
||||
# in case mount is busy
|
||||
sleep 2
|
||||
|
||||
echo "Unmounting vm image ..."
|
||||
|
||||
sudo umount -d tmp
|
||||
|
||||
echo "Removing temp directory used to mount vm image ..."
|
||||
rm -rf $TMP_DIR || exit 1
|
||||
|
||||
if sudo losetup $LOOP_DEV; then
|
||||
echo "sleeping for 10 seconds and trying again ..."
|
||||
sleep 10
|
||||
if sudo losetup -d $LOOP_DEV; then
|
||||
echo "Unmounted loopback device successfully"
|
||||
exit 0
|
||||
else:
|
||||
echo "Unmounting loopback device unsuccessful, you will need to use losetup -d to unmount device"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
exit 0
|
|
@ -0,0 +1,19 @@
|
|||
#!/bin/bash
|
||||
|
||||
. ./mingw-env.sh
|
||||
|
||||
cd $BASE || exit 1
|
||||
|
||||
if [ -z $ARDOUR_VM_SHARE_DIR ]
|
||||
then
|
||||
echo "You must set ARDOUR_VM_SHARE_DIR in your environment to use this script!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -d $ARDOUR_VM_SHARE_DIR/$PACKAGE_DIR ]; then
|
||||
echo "Removing $PACKAGE_DIR from vm share directory ..."
|
||||
rm -rf $ARDOUR_VM_SHARE_DIR/$PACKAGE_DIR || exit 1
|
||||
fi
|
||||
|
||||
echo "Copying $PACKAGE_DIR to vm share directory $ARDOUR_VM_SHARE_DIR ..."
|
||||
cp -r $PACKAGE_DIR $ARDOUR_VM_SHARE_DIR || exit 1
|
|
@ -0,0 +1,4 @@
|
|||
set HOME=%USERPROFILE%
|
||||
echo "set home to %HOME%"
|
||||
|
||||
START gdb.exe ardour-3.3.exe
|
|
@ -0,0 +1,4 @@
|
|||
set HOME=%USERPROFILE%
|
||||
echo "set home to %HOME%"
|
||||
|
||||
START gdb.exe
|
|
@ -0,0 +1 @@
|
|||
set auto-load safe-path /
|
|
@ -26,19 +26,18 @@ BUILD_DIR=$BASE/build
|
|||
BUILD_CACHE_FILE=$BUILD_DIR/c4che/_cache.py
|
||||
TOOLS_DIR=$BASE/tools/windows_packaging
|
||||
|
||||
. ../define_versions.sh
|
||||
|
||||
APPNAME=`grep -m 1 '^APPNAME' $BASE/wscript | awk '{print $3}' | sed "s/'//g"`
|
||||
|
||||
# These are only relevant after a build
|
||||
if test -f $BUILD_CACHE_FILE
|
||||
then
|
||||
. ../define_versions.sh
|
||||
|
||||
# Figure out the Build Type
|
||||
if grep -q "DEBUG = True" $BUILD_CACHE_FILE; then
|
||||
DEBUG=1
|
||||
PACKAGE_DIR="$APPNAME-${version}-win32-dbg"
|
||||
if [ x$DEBUG = xT ]; then
|
||||
PACKAGE_DIR="$APPNAME-${release_version}-win32-dbg"
|
||||
else
|
||||
PACKAGE_DIR="$APPNAME-${version}-win32"
|
||||
PACKAGE_DIR="$APPNAME-${release_version}-win32"
|
||||
fi
|
||||
|
||||
if grep -q "BUILD_TESTS = True" $BUILD_CACHE_FILE; then
|
||||
|
@ -47,6 +46,3 @@ then
|
|||
|
||||
ARDOUR_DATA_DIR=$PACKAGE_DIR/share/ardour3
|
||||
fi
|
||||
|
||||
# put this somewhere better...
|
||||
VIRT_IMAGE_PATH=$HOME/Data/virt-images/winxp.raw
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<!-- Use the Autohinter -->
|
||||
<match target="font">
|
||||
<edit name="autohint" mode="assign"><bool>true</bool></edit>
|
||||
</match>
|
||||
</fontconfig>
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<!-- Enable sub-pixel rendering -->
|
||||
<match target="font">
|
||||
<edit name="rgba" mode="assign"><const>none</const></edit>
|
||||
</match>
|
||||
</fontconfig>
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<!-- Enable sub-pixel rendering -->
|
||||
<match target="font">
|
||||
<edit name="rgba" mode="assign"><const>bgr</const></edit>
|
||||
</match>
|
||||
</fontconfig>
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<!-- Enable sub-pixel rendering -->
|
||||
<match target="font">
|
||||
<edit name="rgba" mode="assign"><const>rgb</const></edit>
|
||||
</match>
|
||||
</fontconfig>
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<!-- Enable sub-pixel rendering -->
|
||||
<match target="font">
|
||||
<edit name="rgba" mode="assign"><const>vbgr</const></edit>
|
||||
</match>
|
||||
</fontconfig>
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<!-- Enable sub-pixel rendering -->
|
||||
<match target="font">
|
||||
<edit name="rgba" mode="assign"><const>vrgb</const></edit>
|
||||
</match>
|
||||
</fontconfig>
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<!-- Disable hinting -->
|
||||
<match target="font">
|
||||
<edit name="hinting" mode="assign"><bool>false</bool></edit>
|
||||
</match>
|
||||
</fontconfig>
|
|
@ -0,0 +1,28 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<!--
|
||||
Some Asian fonts misadvertise themselves as monospaced when
|
||||
in fact they are dual-spaced (half and full). This makes
|
||||
FreeType very confused as it forces all widths to match.
|
||||
Undo this magic by disabling the width forcing code -->
|
||||
<match target="font">
|
||||
<test name="family"><string>GulimChe</string></test>
|
||||
<edit name="globaladvance"><bool>false</bool></edit>
|
||||
</match>
|
||||
|
||||
<match target="font">
|
||||
<test name="family"><string>DotumChe</string></test>
|
||||
<edit name="globaladvance"><bool>false</bool></edit>
|
||||
</match>
|
||||
|
||||
<match target="font">
|
||||
<test name="family"><string>BatangChe</string></test>
|
||||
<edit name="globaladvance"><bool>false</bool></edit>
|
||||
</match>
|
||||
|
||||
<match target="font">
|
||||
<test name="family"><string>GungsuhChe</string></test>
|
||||
<edit name="globaladvance"><bool>false</bool></edit>
|
||||
</match>
|
||||
</fontconfig>
|
|
@ -0,0 +1,48 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<!--
|
||||
The Bitstream Vera fonts have GASP entries suggesting that hinting be
|
||||
disabled below 8 ppem, but FreeType ignores those, preferring to use
|
||||
the data found in the instructed hints. The initial Vera release
|
||||
didn't include the right instructions in the 'prep' table. Fix this
|
||||
by disabling hinting manually at smaller sizes (< 8ppem)
|
||||
-->
|
||||
|
||||
<match target="font">
|
||||
<test name="family">
|
||||
<string>Bitstream Vera Sans</string>
|
||||
</test>
|
||||
<test name="pixelsize" compare="less">
|
||||
<double>7.5</double>
|
||||
</test>
|
||||
<edit name="hinting">
|
||||
<bool>false</bool>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
<match target="font">
|
||||
<test name="family">
|
||||
<string>Bitstream Vera Serif</string>
|
||||
</test>
|
||||
<test name="pixelsize" compare="less">
|
||||
<double>7.5</double>
|
||||
</test>
|
||||
<edit name="hinting">
|
||||
<bool>false</bool>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
<match target="font">
|
||||
<test name="family">
|
||||
<string>Bitstream Vera Sans Mono</string>
|
||||
</test>
|
||||
<test name="pixelsize" compare="less">
|
||||
<double>7.5</double>
|
||||
</test>
|
||||
<edit name="hinting">
|
||||
<bool>false</bool>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
</fontconfig>
|
|
@ -0,0 +1,128 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
|
||||
<!-- We can't hint CJK fonts well, so turn off hinting for CJK fonts. -->
|
||||
|
||||
<match target="font">
|
||||
<test name="family" compare="eq">
|
||||
<string>Kochi Mincho</string>
|
||||
</test>
|
||||
<edit name="hinting" mode="assign">
|
||||
<bool>false</bool>
|
||||
</edit>
|
||||
</match>
|
||||
<match target="font">
|
||||
<test name="family" compare="eq">
|
||||
<string>Kochi Gothic</string>
|
||||
</test>
|
||||
<edit name="hinting" mode="assign">
|
||||
<bool>false</bool>
|
||||
</edit>
|
||||
</match>
|
||||
<match target="font">
|
||||
<test name="family" compare="eq">
|
||||
<string>Sazanami Mincho</string>
|
||||
</test>
|
||||
<edit name="hinting" mode="assign">
|
||||
<bool>false</bool>
|
||||
</edit>
|
||||
</match>
|
||||
<match target="font">
|
||||
<test name="family" compare="eq">
|
||||
<string>Sazanami Gothic</string>
|
||||
</test>
|
||||
<edit name="hinting" mode="assign">
|
||||
<bool>false</bool>
|
||||
</edit>
|
||||
</match>
|
||||
<match target="font">
|
||||
<test name="family" compare="eq">
|
||||
<string>Baekmuk Batang</string>
|
||||
</test>
|
||||
<edit name="hinting" mode="assign">
|
||||
<bool>false</bool>
|
||||
</edit>
|
||||
</match>
|
||||
<match target="font">
|
||||
<test name="family" compare="eq">
|
||||
<string>Baekmuk Dotum</string>
|
||||
</test>
|
||||
<edit name="hinting" mode="assign">
|
||||
<bool>false</bool>
|
||||
</edit>
|
||||
</match>
|
||||
<match target="font">
|
||||
<test name="family" compare="eq">
|
||||
<string>Baekmuk Gulim</string>
|
||||
</test>
|
||||
<edit name="hinting" mode="assign">
|
||||
<bool>false</bool>
|
||||
</edit>
|
||||
</match>
|
||||
<match target="font">
|
||||
<test name="family" compare="eq">
|
||||
<string>Baekmuk Headline</string>
|
||||
</test>
|
||||
<edit name="hinting" mode="assign">
|
||||
<bool>false</bool>
|
||||
</edit>
|
||||
</match>
|
||||
<match target="font">
|
||||
<test name="family" compare="eq">
|
||||
<string>AR PL Mingti2L Big5</string>
|
||||
</test>
|
||||
<edit name="hinting" mode="assign">
|
||||
<bool>false</bool>
|
||||
</edit>
|
||||
</match>
|
||||
<match target="font">
|
||||
<test name="family" compare="eq">
|
||||
<string>AR PL ShanHeiSun Uni</string>
|
||||
</test>
|
||||
<edit name="hinting" mode="assign">
|
||||
<bool>false</bool>
|
||||
</edit>
|
||||
</match>
|
||||
<match target="font">
|
||||
<test name="family" compare="eq">
|
||||
<string>AR PL KaitiM Big5</string>
|
||||
</test>
|
||||
<edit name="hinting" mode="assign">
|
||||
<bool>false</bool>
|
||||
</edit>
|
||||
</match>
|
||||
<match target="font">
|
||||
<test name="family" compare="eq">
|
||||
<string>AR PL ZenKai Uni</string>
|
||||
</test>
|
||||
<edit name="hinting" mode="assign">
|
||||
<bool>false</bool>
|
||||
</edit>
|
||||
</match>
|
||||
<match target="font">
|
||||
<test name="family" compare="eq">
|
||||
<string>AR PL SungtiL GB</string>
|
||||
</test>
|
||||
<edit name="hinting" mode="assign">
|
||||
<bool>false</bool>
|
||||
</edit>
|
||||
</match>
|
||||
<match target="font">
|
||||
<test name="family" compare="eq">
|
||||
<string>AR PL KaitiM GB</string>
|
||||
</test>
|
||||
<edit name="hinting" mode="assign">
|
||||
<bool>false</bool>
|
||||
</edit>
|
||||
</match>
|
||||
<match target="font">
|
||||
<test name="family" compare="eq">
|
||||
<string>ZYSong18030</string>
|
||||
</test>
|
||||
<edit name="hinting" mode="assign">
|
||||
<bool>false</bool>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
</fontconfig>
|
|
@ -0,0 +1,211 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
|
||||
<!-- Alias similar/metric-compatible families from various sources:
|
||||
|
||||
PostScript fonts:
|
||||
Helvetica
|
||||
Times
|
||||
Courier
|
||||
URW fonts:
|
||||
Nimbus Sans L
|
||||
Nimbus Roman No9 L
|
||||
Nimbus Mono L
|
||||
|
||||
Microsoft fonts:
|
||||
Arial
|
||||
Times New Roman
|
||||
Courier New
|
||||
Liberation fonts:
|
||||
Liberation Sans
|
||||
Liberation Serif
|
||||
Liberation Mono
|
||||
StarOffice fonts:
|
||||
Albany
|
||||
Thorndale
|
||||
Cumberland
|
||||
AMT fonts:
|
||||
Albany AMT
|
||||
Thorndale AMT
|
||||
Cumberland AMT
|
||||
|
||||
Of these, URW fonts are design compatible with PostScrict fonts,
|
||||
and the Liberation, StarOffice, and AMT ones are compatible with
|
||||
Microsoft fonts.
|
||||
|
||||
We want for each of them to fallback to any of these
|
||||
available, but in an order preferring similar designs
|
||||
first. We do this in three steps:
|
||||
|
||||
1) Alias each specific to it's generic family.
|
||||
eg. Liberation Sans to Arial
|
||||
|
||||
2) Weak alias each generic to the other generic of its family.
|
||||
eg. Arial to Helvetica
|
||||
|
||||
3) Alias each generic to its specifics.
|
||||
eg. Arial to Liberation Sans, Albany, and Albany AMT
|
||||
-->
|
||||
|
||||
<!-- Map specifics to generics -->
|
||||
|
||||
<!-- PostScript -->
|
||||
<alias binding="same">
|
||||
<family>Nimbus Sans L</family>
|
||||
<default>
|
||||
<family>Helvetica</family>
|
||||
</default>
|
||||
</alias>
|
||||
|
||||
<alias binding="same">
|
||||
<family>Nimbus Roman No9 L</family>
|
||||
<default>
|
||||
<family>Times</family>
|
||||
</default>
|
||||
</alias>
|
||||
|
||||
<alias binding="same">
|
||||
<family>Nimbus Mono L</family>
|
||||
<default>
|
||||
<family>Courier</family>
|
||||
</default>
|
||||
</alias>
|
||||
|
||||
|
||||
<!-- Microsoft -->
|
||||
<alias binding="same">
|
||||
<family>Liberation Sans</family>
|
||||
<family>Albany</family>
|
||||
<family>Albany AMT</family>
|
||||
<default>
|
||||
<family>Arial</family>
|
||||
</default>
|
||||
</alias>
|
||||
|
||||
<alias binding="same">
|
||||
<family>Liberation Serif</family>
|
||||
<family>Thorndale</family>
|
||||
<family>Thorndale AMT</family>
|
||||
<default>
|
||||
<family>Times New Roman</family>
|
||||
</default>
|
||||
</alias>
|
||||
|
||||
<alias binding="same">
|
||||
<family>Liberation Mono</family>
|
||||
<family>Cumberland</family>
|
||||
<family>Cumberland AMT</family>
|
||||
<default>
|
||||
<family>Courier New</family>
|
||||
</default>
|
||||
</alias>
|
||||
|
||||
|
||||
|
||||
<!-- Accept the other group as fallback -->
|
||||
|
||||
|
||||
<!-- PostScript -->
|
||||
<alias>
|
||||
<family>Helvetica</family>
|
||||
<default>
|
||||
<family>Arial</family>
|
||||
</default>
|
||||
</alias>
|
||||
|
||||
<alias>
|
||||
<family>Times</family>
|
||||
<default>
|
||||
<family>Times New Roman</family>
|
||||
</default>
|
||||
</alias>
|
||||
|
||||
<alias>
|
||||
<family>Courier</family>
|
||||
<default>
|
||||
<family>Courier New</family>
|
||||
</default>
|
||||
</alias>
|
||||
|
||||
|
||||
<!-- Microsoft -->
|
||||
<alias>
|
||||
<family>Arial</family>
|
||||
<default>
|
||||
<family>Helvetica</family>
|
||||
</default>
|
||||
</alias>
|
||||
|
||||
<alias>
|
||||
<family>Times New Roman</family>
|
||||
<default>
|
||||
<family>Times</family>
|
||||
</default>
|
||||
</alias>
|
||||
|
||||
<alias>
|
||||
<family>Courier New</family>
|
||||
<default>
|
||||
<family>Courier</family>
|
||||
</default>
|
||||
</alias>
|
||||
|
||||
|
||||
|
||||
<!-- Map generics to specifics -->
|
||||
|
||||
|
||||
<!-- PostScript -->
|
||||
<alias binding="same">
|
||||
<family>Helvetica</family>
|
||||
<accept>
|
||||
<family>Nimbus Sans L</family>
|
||||
</accept>
|
||||
</alias>
|
||||
|
||||
<alias binding="same">
|
||||
<family>Times</family>
|
||||
<accept>
|
||||
<family>Nimbus Roman No9 L</family>
|
||||
</accept>
|
||||
</alias>
|
||||
|
||||
<alias binding="same">
|
||||
<family>Courier</family>
|
||||
<accept>
|
||||
<family>Nimbus Mono L</family>
|
||||
</accept>
|
||||
</alias>
|
||||
|
||||
|
||||
<!-- Microsoft -->
|
||||
<alias binding="same">
|
||||
<family>Arial</family>
|
||||
<accept>
|
||||
<family>Liberation Sans</family>
|
||||
<family>Albany</family>
|
||||
<family>Albany AMT</family>
|
||||
</accept>
|
||||
</alias>
|
||||
|
||||
<alias binding="same">
|
||||
<family>Times New Roman</family>
|
||||
<accept>
|
||||
<family>Liberation Serif</family>
|
||||
<family>Thorndale</family>
|
||||
<family>Thorndale AMT</family>
|
||||
</accept>
|
||||
</alias>
|
||||
|
||||
<alias binding="same">
|
||||
<family>Courier New</family>
|
||||
<accept>
|
||||
<family>Liberation Mono</family>
|
||||
<family>Cumberland</family>
|
||||
<family>Cumberland AMT</family>
|
||||
</accept>
|
||||
</alias>
|
||||
|
||||
|
||||
</fontconfig>
|
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<!--
|
||||
URW provides metric and shape compatible fonts for some Adobe families.
|
||||
Helvetica, Courier, and Times are handled in 30-metric-aliases.conf.
|
||||
-->
|
||||
<alias binding="same">
|
||||
<family>Avant Garde</family>
|
||||
<accept><family>URW Gothic L</family></accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>Bookman</family>
|
||||
<accept><family>URW Bookman L</family></accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>New Century Schoolbook</family>
|
||||
<accept><family>Century Schoolbook L</family></accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>Palatino</family>
|
||||
<accept><family>URW Palladio L</family></accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>Zapf Chancery</family>
|
||||
<accept><family>URW Chancery L</family></accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>Zapf Dingbats</family>
|
||||
<accept><family>Dingbats</family></accept>
|
||||
</alias>
|
||||
<match target="pattern">
|
||||
<test name="family">
|
||||
<string>Symbol</string>
|
||||
</test>
|
||||
<edit name="family" mode="append" binding="same">
|
||||
<string>Standard Symbols L</string>
|
||||
</edit>
|
||||
</match>
|
||||
</fontconfig>
|
|
@ -0,0 +1,90 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<!--
|
||||
Mark common families with their generics so we'll get
|
||||
something reasonable
|
||||
-->
|
||||
|
||||
<!--
|
||||
Serif faces
|
||||
-->
|
||||
<alias>
|
||||
<family>Nazli</family>
|
||||
<family>Lotoos</family>
|
||||
<family>Mitra</family>
|
||||
<family>Ferdosi</family>
|
||||
<family>Badr</family>
|
||||
<family>Zar</family>
|
||||
<family>Titr</family>
|
||||
<family>Jadid</family>
|
||||
<family>Kochi Mincho</family>
|
||||
<family>AR PL SungtiL GB</family>
|
||||
<family>AR PL Mingti2L Big5</family>
|
||||
<family>MS 明朝</family>
|
||||
<family>UnBatang</family>
|
||||
<family>Baekmuk Batang</family>
|
||||
<family>MgOpen Canonica</family>
|
||||
<family>Sazanami Mincho</family>
|
||||
<family>AR PL ZenKai Uni</family>
|
||||
<family>ZYSong18030</family>
|
||||
<family>FreeSerif</family>
|
||||
<default><family>serif</family></default>
|
||||
</alias>
|
||||
<!--
|
||||
Sans-serif faces
|
||||
-->
|
||||
<alias>
|
||||
<family>Arshia</family>
|
||||
<family>Elham</family>
|
||||
<family>Farnaz</family>
|
||||
<family>Nasim</family>
|
||||
<family>Sina</family>
|
||||
<family>Roya</family>
|
||||
<family>Koodak</family>
|
||||
<family>Terafik</family>
|
||||
<family>Kochi Gothic</family>
|
||||
<family>AR PL KaitiM GB</family>
|
||||
<family>AR PL KaitiM Big5</family>
|
||||
<family>MS ゴシック</family>
|
||||
<family>UnDotum</family>
|
||||
<family>Baekmuk Dotum</family>
|
||||
<family>SimSun</family>
|
||||
<family>MgOpen Modata</family>
|
||||
<family>Sazanami Gothic</family>
|
||||
<family>AR PL ShanHeiSun Uni</family>
|
||||
<family>ZYSong18030</family>
|
||||
<family>FreeSans</family>
|
||||
<default><family>sans-serif</family></default>
|
||||
</alias>
|
||||
<!--
|
||||
Monospace faces
|
||||
-->
|
||||
<alias>
|
||||
<family>NSimSun</family>
|
||||
<family>ZYSong18030</family>
|
||||
<family>FreeMono</family>
|
||||
<default><family>monospace</family></default>
|
||||
</alias>
|
||||
|
||||
<!--
|
||||
Fantasy faces
|
||||
-->
|
||||
<alias>
|
||||
<family>Homa</family>
|
||||
<family>Kamran</family>
|
||||
<family>Fantezi</family>
|
||||
<family>Tabassom</family>
|
||||
<default><family>fantasy</family></default>
|
||||
</alias>
|
||||
|
||||
<!--
|
||||
Cursive faces
|
||||
-->
|
||||
<alias>
|
||||
<family>IranNastaliq</family>
|
||||
<family>Nafees Nastaleeq</family>
|
||||
<default><family>cursive</family></default>
|
||||
</alias>
|
||||
|
||||
</fontconfig>
|
|
@ -0,0 +1,77 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<!--
|
||||
Mark common families with their generics so we'll get
|
||||
something reasonable
|
||||
-->
|
||||
|
||||
<!--
|
||||
Serif faces
|
||||
-->
|
||||
<alias>
|
||||
<family>Bitstream Vera Serif</family>
|
||||
<family>DejaVu Serif</family>
|
||||
<family>Liberation Serif</family>
|
||||
<family>Times New Roman</family>
|
||||
<family>Times</family>
|
||||
<family>Nimbus Roman No9 L</family>
|
||||
<family>Luxi Serif</family>
|
||||
<family>Thorndale AMT</family>
|
||||
<family>Thorndale</family>
|
||||
<default><family>serif</family></default>
|
||||
</alias>
|
||||
<!--
|
||||
Sans-serif faces
|
||||
-->
|
||||
<alias>
|
||||
<family>Bitstream Vera Sans</family>
|
||||
<family>DejaVu Sans</family>
|
||||
<family>Liberation Sans</family>
|
||||
<family>Arial</family>
|
||||
<family>Helvetica</family>
|
||||
<family>Verdana</family>
|
||||
<family>Albany AMT</family>
|
||||
<family>Albany</family>
|
||||
<family>Nimbus Sans L</family>
|
||||
<family>Luxi Sans</family>
|
||||
<default><family>sans-serif</family></default>
|
||||
</alias>
|
||||
<!--
|
||||
Monospace faces
|
||||
-->
|
||||
<alias>
|
||||
<family>Bitstream Vera Sans Mono</family>
|
||||
<family>DejaVu Sans Mono</family>
|
||||
<family>Liberation Mono</family>
|
||||
<family>Inconsolata</family>
|
||||
<family>Courier New</family>
|
||||
<family>Courier</family>
|
||||
<family>Andale Mono</family>
|
||||
<family>Luxi Mono</family>
|
||||
<family>Cumberland AMT</family>
|
||||
<family>Cumberland</family>
|
||||
<family>Nimbus Mono L</family>
|
||||
<default><family>monospace</family></default>
|
||||
</alias>
|
||||
<!--
|
||||
Fantasy faces
|
||||
-->
|
||||
<alias>
|
||||
<family>Impact</family>
|
||||
<family>Copperplate Gothic Std</family>
|
||||
<family>Cooper Std</family>
|
||||
<family>Bauhaus Std</family>
|
||||
<default><family>fantasy</family></default>
|
||||
</alias>
|
||||
<!--
|
||||
Cursive faces
|
||||
-->
|
||||
<alias>
|
||||
<family>ITC Zapf Chancery Std</family>
|
||||
<family>Zapfino</family>
|
||||
<family>Comic Sans MS</family>
|
||||
<default><family>cursive</family></default>
|
||||
</alias>
|
||||
|
||||
</fontconfig>
|
|
@ -0,0 +1,21 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<!--
|
||||
If the font still has no generic name, add sans-serif
|
||||
-->
|
||||
<match target="pattern">
|
||||
<test qual="all" name="family" compare="not_eq">
|
||||
<string>sans-serif</string>
|
||||
</test>
|
||||
<test qual="all" name="family" compare="not_eq">
|
||||
<string>serif</string>
|
||||
</test>
|
||||
<test qual="all" name="family" compare="not_eq">
|
||||
<string>monospace</string>
|
||||
</test>
|
||||
<edit name="family" mode="append_last">
|
||||
<string>sans-serif</string>
|
||||
</edit>
|
||||
</match>
|
||||
</fontconfig>
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<!-- Load per-user customization file -->
|
||||
<include ignore_missing="yes">~/.fonts.conf.d</include>
|
||||
<include ignore_missing="yes">~/.fonts.conf</include>
|
||||
</fontconfig>
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<!-- Load local system customization file -->
|
||||
<include ignore_missing="yes">local.conf</include>
|
||||
</fontconfig>
|
|
@ -0,0 +1,70 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<alias>
|
||||
<family>serif</family>
|
||||
<prefer>
|
||||
<family>Bitstream Vera Serif</family>
|
||||
<family>DejaVu Serif</family>
|
||||
<family>Times New Roman</family>
|
||||
<family>Thorndale AMT</family>
|
||||
<family>Luxi Serif</family>
|
||||
<family>Nimbus Roman No9 L</family>
|
||||
<family>Times</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>sans-serif</family>
|
||||
<prefer>
|
||||
<family>Bitstream Vera Sans</family>
|
||||
<family>DejaVu Sans</family>
|
||||
<family>Verdana</family>
|
||||
<family>Arial</family>
|
||||
<family>Albany AMT</family>
|
||||
<family>Luxi Sans</family>
|
||||
<family>Nimbus Sans L</family>
|
||||
<family>Helvetica</family>
|
||||
<family>Lucida Sans Unicode</family>
|
||||
<family>BPG Glaho International</family> <!-- lat,cyr,arab,geor -->
|
||||
<family>Tahoma</family> <!-- lat,cyr,greek,heb,arab,thai -->
|
||||
</prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>monospace</family>
|
||||
<prefer>
|
||||
<family>Bitstream Vera Sans Mono</family>
|
||||
<family>DejaVu Sans Mono</family>
|
||||
<family>Inconsolata</family>
|
||||
<family>Andale Mono</family>
|
||||
<family>Courier New</family>
|
||||
<family>Cumberland AMT</family>
|
||||
<family>Luxi Mono</family>
|
||||
<family>Nimbus Mono L</family>
|
||||
<family>Courier</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
<!--
|
||||
Fantasy faces
|
||||
-->
|
||||
<alias>
|
||||
<family>fantasy</family>
|
||||
<prefer>
|
||||
<family>Impact</family>
|
||||
<family>Copperplate Gothic Std</family>
|
||||
<family>Cooper Std</family>
|
||||
<family>Bauhaus Std</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
<!--
|
||||
Cursive faces
|
||||
-->
|
||||
<alias>
|
||||
<family>cursive</family>
|
||||
<prefer>
|
||||
<family>ITC Zapf Chancery Std</family>
|
||||
<family>Zapfino</family>
|
||||
<family>Comic Sans MS</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
|
||||
</fontconfig>
|
|
@ -0,0 +1,419 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<!--
|
||||
fonts-persian.conf
|
||||
To configure Persian fonts from The FarsiWeb Project.
|
||||
|
||||
Copyright (C) 2005 Sharif FarsiWeb, Inc. <license@farsiweb.info>
|
||||
|
||||
Permission to use, copy, modify, distribute, and sell this software and its
|
||||
documentation for any purpose is hereby granted without fee, provided that
|
||||
the above copyright notice appear in all copies and that both that
|
||||
copyright notice and this permission notice appear in supporting
|
||||
documentation, and that the name of Sharif FarsiWeb, Inc. not be used in
|
||||
advertising or publicity pertaining to distribution of the software without
|
||||
specific, written prior permission. Sharif FarsiWeb, Inc. makes no
|
||||
representations about the suitability of this software for any purpose. It
|
||||
is provided "as is" without express or implied warranty.
|
||||
|
||||
SHARIF FARSIWEB, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
ChangeLog:
|
||||
2005-04-03 Behdad Esfahbod: Initial revision.
|
||||
2005-10-09 Behdad Esfahbod: Turned off back-slant and Tahoma sections.
|
||||
2005-11-30 Behdad Esfahbod: Set Titr susbtitution size to 24 points.
|
||||
2008 Behdad Esfahbod: Cleanup. Add fantasy and cursive.
|
||||
-->
|
||||
<fontconfig>
|
||||
|
||||
|
||||
<!-- Deprecated fonts are discouraged -->
|
||||
|
||||
<!-- Nesf[2] is officially deprecated and has problematic tables -->
|
||||
<alias binding="same">
|
||||
<family>Nesf</family>
|
||||
<accept><family>Nesf2</family></accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>Nesf2</family>
|
||||
<accept><family>Persian_sansserif_default</family></accept>
|
||||
</alias>
|
||||
|
||||
<!-- Name changes and spelling variant aliases -->
|
||||
|
||||
<alias binding="same">
|
||||
<family>Nazanin</family>
|
||||
<accept><family>Nazli</family></accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>Lotus</family>
|
||||
<accept><family>Lotoos</family></accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>Yaqut</family>
|
||||
<accept><family>Yaghoot</family></accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>Yaghut</family>
|
||||
<accept><family>Yaghoot</family></accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>Traffic</family>
|
||||
<accept><family>Terafik</family></accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>Ferdowsi</family>
|
||||
<accept><family>Ferdosi</family></accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>Fantezy</family>
|
||||
<accept><family>Fantezi</family></accept>
|
||||
</alias>
|
||||
|
||||
|
||||
<!-- Classify fonts. -->
|
||||
|
||||
<!-- Persian_title class -->
|
||||
<alias binding="same">
|
||||
<family>Jadid</family>
|
||||
<accept><family>Persian_title</family></accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>Titr</family>
|
||||
<accept><family>Persian_title</family></accept>
|
||||
</alias>
|
||||
|
||||
<!-- Persian_fantasy class -->
|
||||
<alias binding="same">
|
||||
<family>Kamran</family>
|
||||
<accept>
|
||||
<family>Persian_fantasy</family>
|
||||
<family>Homa</family>
|
||||
</accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>Homa</family>
|
||||
<accept>
|
||||
<family>Persian_fantasy</family>
|
||||
<family>Kamran</family>
|
||||
</accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>Fantezi</family>
|
||||
<accept><family>Persian_fantasy</family></accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>Tabassom</family>
|
||||
<accept><family>Persian_fantasy</family></accept>
|
||||
</alias>
|
||||
|
||||
<!-- Persian_square class -->
|
||||
<alias binding="same">
|
||||
<family>Arshia</family>
|
||||
<accept><family>Persian_square</family></accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>Nasim</family>
|
||||
<accept><family>Persian_square</family></accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>Elham</family>
|
||||
<accept>
|
||||
<family>Persian_square</family>
|
||||
<family>Farnaz</family>
|
||||
</accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>Farnaz</family>
|
||||
<accept>
|
||||
<family>Persian_square</family>
|
||||
<family>Elham</family>
|
||||
</accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>Sina</family>
|
||||
<accept><family>Persian_square</family></accept>
|
||||
</alias>
|
||||
|
||||
<!-- Font ordering per class -->
|
||||
|
||||
<!-- Persian_title class -->
|
||||
<alias binding="same">
|
||||
<family>Persian_title</family>
|
||||
<accept>
|
||||
<family>Titr</family>
|
||||
<family>Jadid</family>
|
||||
<family>Persian_serif</family>
|
||||
</accept>
|
||||
</alias>
|
||||
|
||||
<!-- Persian_fantasy class -->
|
||||
<alias binding="same">
|
||||
<family>Persian_fantasy</family>
|
||||
<accept>
|
||||
<family>Homa</family>
|
||||
<family>Kamran</family>
|
||||
<family>Fantezi</family>
|
||||
<family>Tabassom</family>
|
||||
<family>Persian_square</family>
|
||||
</accept>
|
||||
</alias>
|
||||
|
||||
<!-- Persian_square class -->
|
||||
<alias binding="same">
|
||||
<family>Persian_square</family>
|
||||
<accept>
|
||||
<family>Arshia</family>
|
||||
<family>Elham</family>
|
||||
<family>Farnaz</family>
|
||||
<family>Nasim</family>
|
||||
<family>Sina</family>
|
||||
<family>Persian_serif</family>
|
||||
</accept>
|
||||
</alias>
|
||||
|
||||
<!-- Register the fonts that we actually do have -->
|
||||
|
||||
<match target="scan">
|
||||
<test name="family">
|
||||
<string>Elham</string>
|
||||
</test>
|
||||
<edit name="foundry">
|
||||
<string>farsiweb</string>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
<match target="scan">
|
||||
<test name="family">
|
||||
<string>Homa</string>
|
||||
</test>
|
||||
<edit name="foundry">
|
||||
<string>farsiweb</string>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
<match target="scan">
|
||||
<test name="family">
|
||||
<string>Koodak</string>
|
||||
</test>
|
||||
<edit name="foundry">
|
||||
<string>farsiweb</string>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
<match target="scan">
|
||||
<test name="family">
|
||||
<string>Nazli</string>
|
||||
</test>
|
||||
<edit name="foundry">
|
||||
<string>farsiweb</string>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
<match target="scan">
|
||||
<test name="family">
|
||||
<string>Roya</string>
|
||||
</test>
|
||||
<edit name="foundry">
|
||||
<string>farsiweb</string>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
<match target="scan">
|
||||
<test name="family">
|
||||
<string>Terafik</string>
|
||||
</test>
|
||||
<edit name="foundry">
|
||||
<string>farsiweb</string>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
<match target="scan">
|
||||
<test name="family">
|
||||
<string>Titr</string>
|
||||
</test>
|
||||
<edit name="foundry">
|
||||
<string>farsiweb</string>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
|
||||
<!-- Our fonts should oblique to the other side (TURNED-OFF) -->
|
||||
|
||||
<match target="font">
|
||||
<test name="foundry">
|
||||
<!--string>farsiweb</string-->
|
||||
<string>TURNED-OFF</string>
|
||||
</test>
|
||||
<test name="foundry">
|
||||
<string>farsiweb</string>
|
||||
</test>
|
||||
<!-- check to see if the font is roman -->
|
||||
<test name="slant">
|
||||
<const>roman</const>
|
||||
</test>
|
||||
<!-- check to see if the pattern requested non-roman -->
|
||||
<test target="pattern" name="slant" compare="not_eq">
|
||||
<const>roman</const>
|
||||
</test>
|
||||
<!-- multiply the matrix to slant the font -->
|
||||
<edit name="matrix" mode="assign">
|
||||
<times>
|
||||
<name>matrix</name>
|
||||
<matrix><double>1</double><double>-0.2</double>
|
||||
<double>0</double><double>1</double>
|
||||
</matrix>
|
||||
</times>
|
||||
</edit>
|
||||
<!-- pretend the font is oblique now -->
|
||||
<edit name="slant" mode="assign">
|
||||
<const>oblique</const>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
|
||||
<!--
|
||||
We can't hint our fonts well, so turn off hinting.
|
||||
Moreover, the bitmaps we have designed (well, they
|
||||
have designed), suck, so disable them too.
|
||||
-->
|
||||
|
||||
<match target="font">
|
||||
<test name="foundry">
|
||||
<string>farsiweb</string>
|
||||
</test>
|
||||
<edit name="autohint">
|
||||
<bool>false</bool>
|
||||
</edit>
|
||||
<edit name="hinting">
|
||||
<bool>false</bool>
|
||||
</edit>
|
||||
<edit name="embeddedbitmap">
|
||||
<bool>false</bool>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
|
||||
<!-- Alias our fonts to common families -->
|
||||
|
||||
<!-- Persian serif fonts -->
|
||||
<alias>
|
||||
<family>serif</family>
|
||||
<accept>
|
||||
<family>Nazli</family>
|
||||
<family>Lotoos</family>
|
||||
<family>Mitra</family>
|
||||
<family>Ferdosi</family>
|
||||
<family>Badr</family>
|
||||
<family>Zar</family>
|
||||
</accept>
|
||||
</alias>
|
||||
|
||||
<!-- Persian sans-serif fonts -->
|
||||
<alias>
|
||||
<family>sans-serif</family>
|
||||
<accept>
|
||||
<family>Roya</family>
|
||||
<family>Koodak</family>
|
||||
<family>Terafik</family>
|
||||
</accept>
|
||||
</alias>
|
||||
|
||||
<!-- Persian monospace fonts -->
|
||||
<alias>
|
||||
<family>monospace</family>
|
||||
<accept>
|
||||
<!-- Not really monospace -->
|
||||
<family>Terafik</family>
|
||||
</accept>
|
||||
</alias>
|
||||
|
||||
<!-- Persian fantasy fonts -->
|
||||
<alias>
|
||||
<family>fantasy</family>
|
||||
<accept>
|
||||
<family>Homa</family>
|
||||
<family>Kamran</family>
|
||||
<family>Fantezi</family>
|
||||
<family>Tabassom</family>
|
||||
</accept>
|
||||
</alias>
|
||||
|
||||
<!-- Persian (and Urdu) Nastaliq/cursive fonts -->
|
||||
<alias>
|
||||
<family>cursive</family>
|
||||
<accept>
|
||||
<family>IranNastaliq</family>
|
||||
<family>Nafees Nastaleeq</family>
|
||||
</accept>
|
||||
</alias>
|
||||
|
||||
<!-- Use Titr in titles -->
|
||||
|
||||
<!-- Both serif... -->
|
||||
<match>
|
||||
<test name="family">
|
||||
<string>serif</string>
|
||||
</test>
|
||||
<test name="weight" compare="more_eq">
|
||||
<int>200</int>
|
||||
</test>
|
||||
<test name="size" compare="more_eq">
|
||||
<double>24</double>
|
||||
</test>
|
||||
<edit name="family" mode="prepend">
|
||||
<string>Titr</string>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
<!-- and sans-serif. -->
|
||||
<match>
|
||||
<test name="family">
|
||||
<string>sans-serif</string>
|
||||
</test>
|
||||
<test name="weight" compare="more_eq">
|
||||
<int>200</int>
|
||||
</test>
|
||||
<test name="size" compare="more_eq">
|
||||
<double>24</double>
|
||||
</test>
|
||||
<edit name="family" mode="prepend">
|
||||
<string>Titr</string>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
<!-- and more. -->
|
||||
<match>
|
||||
<test name="family">
|
||||
<string>Persian_sansserif_default</string>
|
||||
</test>
|
||||
<test name="weight" compare="more_eq">
|
||||
<int>200</int>
|
||||
</test>
|
||||
<test name="size" compare="more_eq">
|
||||
<double>24</double>
|
||||
</test>
|
||||
<edit name="family" mode="prepend" binding="same">
|
||||
<string>Titr</string>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
|
||||
<!-- Default substituted for deprecated sans-serif fonts -->
|
||||
|
||||
<match>
|
||||
<test name="family">
|
||||
<string>Persian_sansserif_default</string>
|
||||
</test>
|
||||
<edit name="family" mode="assign" binding="same">
|
||||
<string>Roya</string>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
</fontconfig>
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<alias>
|
||||
<family>serif</family>
|
||||
<prefer>
|
||||
<family>Khmer OS"</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>sans-serif</family>
|
||||
<prefer>
|
||||
<family>Khmer OS"</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
</fontconfig>
|
|
@ -0,0 +1,195 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<alias>
|
||||
<family>serif</family>
|
||||
<prefer>
|
||||
<family>Artsounk</family> <!-- armenian -->
|
||||
<family>BPG UTF8 M</family> <!-- georgian -->
|
||||
<family>Kinnari</family> <!-- thai -->
|
||||
<family>Norasi</family> <!-- thai -->
|
||||
<family>Frank Ruehl</family> <!-- hebrew -->
|
||||
<family>Dror</family> <!-- hebrew -->
|
||||
<family>JG LaoTimes</family> <!-- lao -->
|
||||
<family>Saysettha Unicode</family> <!-- lao -->
|
||||
<family>Pigiarniq</family> <!-- canadian syllabics -->
|
||||
<family>B Davat</family> <!-- arabic (fa) -->
|
||||
<family>B Compset</family> <!-- arabic (fa) -->
|
||||
<family>Kacst-Qr</family> <!-- arabic (ar) -->
|
||||
<family>Urdu Nastaliq Unicode</family> <!-- arabic (ur) -->
|
||||
<family>Raghindi</family> <!-- devanagari -->
|
||||
<family>Mukti Narrow</family> <!-- bengali -->
|
||||
<family>malayalam</family> <!-- malayalam -->
|
||||
<family>Sampige</family> <!-- kannada -->
|
||||
<family>padmaa</family> <!-- gujarati -->
|
||||
<family>Hapax Berbère</family> <!-- tifinagh -->
|
||||
<family>MS Gothic</family> <!-- han (ja) -->
|
||||
<family>UmePlus P Gothic</family> <!-- han (ja) -->
|
||||
<family>SimSun</family> <!-- han (zh-cn,zh-tw) -->
|
||||
<family>PMingLiu</family> <!-- han (zh-tw) -->
|
||||
<family>WenQuanYi Zen Hei</family> <!-- han (zh-cn,zh-tw) -->
|
||||
<family>WenQuanYi Bitmap Song</family> <!-- han (zh-cn,zh-tw) -->
|
||||
<family>AR PL ShanHeiSun Uni</family> <!-- han (ja,zh-cn,zh-tw) -->
|
||||
<family>AR PL New Sung</family> <!-- han (zh-cn,zh-tw) -->
|
||||
<family>ZYSong18030</family> <!-- han (zh-cn,zh-tw) -->
|
||||
<family>HanyiSong</family> <!-- han (zh-cn,zh-tw) -->
|
||||
<family>MgOpen Canonica</family>
|
||||
<family>Sazanami Mincho</family>
|
||||
<family>IPAMonaMincho</family>
|
||||
<family>IPAMincho</family>
|
||||
<family>Kochi Mincho</family>
|
||||
<family>AR PL SungtiL GB</family>
|
||||
<family>AR PL Mingti2L Big5</family>
|
||||
<family>AR PL Zenkai Uni</family>
|
||||
<family>MS 明朝</family>
|
||||
<family>ZYSong18030</family>
|
||||
<family>UnBatang</family>
|
||||
<family>Baekmuk Batang</family>
|
||||
<family>KacstQura</family>
|
||||
<family>Frank Ruehl CLM</family>
|
||||
<family>Lohit Bengali</family>
|
||||
<family>Lohit Gujarati</family>
|
||||
<family>Lohit Hindi</family>
|
||||
<family>Lohit Marathi</family>
|
||||
<family>Lohit Maithili</family>
|
||||
<family>Lohit Kashmiri</family>
|
||||
<family>Lohit Konkani</family>
|
||||
<family>Lohit Nepali</family>
|
||||
<family>Lohit Sindhi</family>
|
||||
<family>Lohit Punjabi</family>
|
||||
<family>Lohit Tamil</family>
|
||||
<family>Meera</family>
|
||||
<family>Lohit Malayalam</family>
|
||||
<family>Lohit Kannada</family>
|
||||
<family>Lohit Telugu</family>
|
||||
<family>Lohit Oriya</family>
|
||||
<family>LKLUG</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>sans-serif</family>
|
||||
<prefer>
|
||||
<family>Nachlieli</family> <!-- hebrew -->
|
||||
<family>Lucida Sans Unicode</family>
|
||||
<family>Yudit Unicode</family>
|
||||
<family>Kerkis</family> <!-- greek -->
|
||||
<family>ArmNet Helvetica</family> <!-- armenian -->
|
||||
<family>Artsounk</family> <!-- armenian -->
|
||||
<family>BPG UTF8 M</family> <!-- georgian -->
|
||||
<family>Waree</family> <!-- thai -->
|
||||
<family>Loma</family> <!-- thai -->
|
||||
<family>Garuda</family> <!-- thai -->
|
||||
<family>Umpush</family> <!-- thai -->
|
||||
<family>Saysettha Unicode</family> <!-- lao? -->
|
||||
<family>JG Lao Old Arial</family> <!-- lao -->
|
||||
<family>GF Zemen Unicode</family> <!-- ethiopic -->
|
||||
<family>Pigiarniq</family> <!-- canadian syllabics -->
|
||||
<family>B Davat</family> <!-- arabic (fa) -->
|
||||
<family>B Compset</family> <!-- arabic (fa) -->
|
||||
<family>Kacst-Qr</family> <!-- arabic (ar) -->
|
||||
<family>Urdu Nastaliq Unicode</family> <!-- arabic (ur) -->
|
||||
<family>Raghindi</family> <!-- devanagari -->
|
||||
<family>Mukti Narrow</family> <!-- bengali -->
|
||||
<family>malayalam</family> <!-- malayalam -->
|
||||
<family>Sampige</family> <!-- kannada -->
|
||||
<family>padmaa</family> <!-- gujarati -->
|
||||
<family>Hapax Berbère</family> <!-- tifinagh -->
|
||||
<family>MS Gothic</family> <!-- han (ja) -->
|
||||
<family>UmePlus P Gothic</family> <!-- han (ja) -->
|
||||
<!-- chinese fonts are actually serifed -->
|
||||
<family>SimSun</family> <!-- han (zh-cn,zh-tw) -->
|
||||
<family>PMingLiu</family> <!-- han (zh-tw) -->
|
||||
<family>WenQuanYi Zen Hei</family> <!-- han (zh-cn,zh-tw) -->
|
||||
<family>WenQuanYi Bitmap Song</family> <!-- han (zh-cn,zh-tw) -->
|
||||
<family>AR PL ShanHeiSun Uni</family> <!--han (ja,zh-cn,zh-tw) -->
|
||||
<family>AR PL New Sung</family> <!-- han (zh-cn,zh-tw) -->
|
||||
<family>MgOpen Modata</family>
|
||||
<family>VL Gothic</family>
|
||||
<family>IPAMonaGothic</family>
|
||||
<family>IPAGothic</family>
|
||||
<family>Sazanami Gothic</family>
|
||||
<family>Kochi Gothic</family>
|
||||
<family>AR PL KaitiM GB</family>
|
||||
<family>AR PL KaitiM Big5</family>
|
||||
<family>AR PL ShanHeiSun Uni</family>
|
||||
<family>AR PL SungtiL GB</family>
|
||||
<family>AR PL Mingti2L Big5</family>
|
||||
<family>MS ゴシック</family>
|
||||
<family>ZYSong18030</family> <!-- han (zh-cn,zh-tw) -->
|
||||
<family>TSCu_Paranar</family> <!-- tamil -->
|
||||
<family>UnDotum</family>
|
||||
<family>Baekmuk Dotum</family>
|
||||
<family>Baekmuk Gulim</family>
|
||||
<family>KacstQura</family>
|
||||
<family>Lohit Bengali</family>
|
||||
<family>Lohit Gujarati</family>
|
||||
<family>Lohit Hindi</family>
|
||||
<family>Lohit Marathi</family>
|
||||
<family>Lohit Maithili</family>
|
||||
<family>Lohit Kashmiri</family>
|
||||
<family>Lohit Konkani</family>
|
||||
<family>Lohit Nepali</family>
|
||||
<family>Lohit Sindhi</family>
|
||||
<family>Lohit Punjabi</family>
|
||||
<family>Lohit Tamil</family>
|
||||
<family>Meera</family>
|
||||
<family>Lohit Malayalam</family>
|
||||
<family>Lohit Kannada</family>
|
||||
<family>Lohit Telugu</family>
|
||||
<family>Lohit Oriya</family>
|
||||
<family>LKLUG</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>monospace</family>
|
||||
<prefer>
|
||||
<family>Miriam Mono</family> <!-- hebrew -->
|
||||
<family>VL Gothic</family>
|
||||
<family>IPAMonaGothic</family>
|
||||
<family>IPAGothic</family>
|
||||
<family>Sazanami Gothic</family>
|
||||
<family>Kochi Gothic</family>
|
||||
<family>AR PL KaitiM GB</family>
|
||||
<family>MS Gothic</family> <!-- han (ja) -->
|
||||
<family>UmePlus Gothic</family> <!-- han (ja) -->
|
||||
<family>NSimSun</family> <!-- han (zh-cn,zh-tw) -->
|
||||
<family>MingLiu</family> <!-- han (zh-tw) -->
|
||||
<family>AR PL ShanHeiSun Uni</family> <!-- han (ja,zh-cn,zh-tw) -->
|
||||
<family>AR PL New Sung Mono</family> <!-- han (zh-cn,zh-tw) -->
|
||||
<family>HanyiSong</family> <!-- han (zh-cn) -->
|
||||
<family>AR PL SungtiL GB</family>
|
||||
<family>AR PL Mingti2L Big5</family>
|
||||
<family>ZYSong18030</family> <!-- han (zh-cn,zh-tw) -->
|
||||
<family>UnBatang</family>
|
||||
<family>UnDotum</family>
|
||||
<family>Baekmuk Batang</family> <!-- hangul -->
|
||||
<family>Baekmuk Dotum</family>
|
||||
<family>Baekmuk Gulim</family>
|
||||
<family>TlwgTypo</family> <!-- thai -->
|
||||
<family>TlwgTypist</family> <!-- thai -->
|
||||
<family>TlwgTypewriter</family> <!-- thai -->
|
||||
<family>TlwgMono</family> <!-- thai -->
|
||||
<family>Hasida</family> <!-- hebrew -->
|
||||
<family>Mitra Mono</family> <!-- bengali -->
|
||||
<family>GF Zemen Unicode</family> <!-- ethiopic -->
|
||||
<family>Hapax Berbère</family> <!-- tifinagh -->
|
||||
<family>Lohit Bengali</family>
|
||||
<family>Lohit Gujarati</family>
|
||||
<family>Lohit Hindi</family>
|
||||
<family>Lohit Marathi</family>
|
||||
<family>Lohit Maithili</family>
|
||||
<family>Lohit Kashmiri</family>
|
||||
<family>Lohit Konkani</family>
|
||||
<family>Lohit Nepali</family>
|
||||
<family>Lohit Sindhi</family>
|
||||
<family>Lohit Punjabi</family>
|
||||
<family>Lohit Tamil</family>
|
||||
<family>Meera</family>
|
||||
<family>Lohit Malayalam</family>
|
||||
<family>Lohit Kannada</family>
|
||||
<family>Lohit Telugu</family>
|
||||
<family>Lohit Oriya</family>
|
||||
<family>LKLUG</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
</fontconfig>
|
|
@ -0,0 +1,28 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<alias>
|
||||
<family>serif</family>
|
||||
<prefer>
|
||||
<family>FreeSerif</family>
|
||||
<family>Code2000</family>
|
||||
<family>Code2001</family> <!-- plane1 and beyond -->
|
||||
</prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>sans-serif</family>
|
||||
<prefer>
|
||||
<family>FreeSans</family>
|
||||
<family>Arial Unicode MS</family>
|
||||
<family>Arial Unicode</family>
|
||||
<family>Code2000</family> <!-- almost everything; serif actually -->
|
||||
<family>Code2001</family> <!-- plane1 and beyond -->
|
||||
</prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>monospace</family>
|
||||
<prefer>
|
||||
<family>FreeMono</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
</fontconfig>
|
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<!-- Reject bitmap fonts -->
|
||||
<selectfont>
|
||||
<rejectfont>
|
||||
<pattern>
|
||||
<patelt name="scalable"><bool>false</bool></patelt>
|
||||
</pattern>
|
||||
</rejectfont>
|
||||
</selectfont>
|
||||
</fontconfig>
|
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<!-- Accept bitmap fonts -->
|
||||
<selectfont>
|
||||
<acceptfont>
|
||||
<pattern>
|
||||
<patelt name="scalable"><bool>false</bool></patelt>
|
||||
</pattern>
|
||||
</acceptfont>
|
||||
</selectfont>
|
||||
</fontconfig>
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<!-- Fix-ups for Delicious family -->
|
||||
|
||||
<!-- Delicious 'heavy' variant says its Medium weight -->
|
||||
<match target="scan">
|
||||
<test name="family">
|
||||
<string>Delicious</string>
|
||||
</test>
|
||||
<test name="style">
|
||||
<string>Heavy</string>
|
||||
</test>
|
||||
<edit name="weight">
|
||||
<const>heavy</const>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
</fontconfig>
|
|
@ -0,0 +1,64 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<!--
|
||||
Artificial oblique for fonts without an italic or oblique version
|
||||
-->
|
||||
|
||||
<match target="font">
|
||||
<!-- check to see if the font is roman -->
|
||||
<test name="slant">
|
||||
<const>roman</const>
|
||||
</test>
|
||||
<!-- check to see if the pattern requested non-roman -->
|
||||
<test target="pattern" name="slant" compare="not_eq">
|
||||
<const>roman</const>
|
||||
</test>
|
||||
<!-- multiply the matrix to slant the font -->
|
||||
<edit name="matrix" mode="assign">
|
||||
<times>
|
||||
<name>matrix</name>
|
||||
<matrix><double>1</double><double>0.2</double>
|
||||
<double>0</double><double>1</double>
|
||||
</matrix>
|
||||
</times>
|
||||
</edit>
|
||||
<!-- pretend the font is oblique now -->
|
||||
<edit name="slant" mode="assign">
|
||||
<const>oblique</const>
|
||||
</edit>
|
||||
<!-- and disable embedded bitmaps for artificial oblique -->
|
||||
<edit name="embeddedbitmap" mode="assign">
|
||||
<bool>false</bool>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
<!--
|
||||
Synthetic emboldening for fonts that do not have bold face available
|
||||
-->
|
||||
|
||||
<match target="font">
|
||||
<!-- check to see if the font is just regular -->
|
||||
<test name="weight" compare="less_eq">
|
||||
<const>medium</const>
|
||||
</test>
|
||||
<!-- check to see if the pattern requests bold -->
|
||||
<test target="pattern" name="weight" compare="more">
|
||||
<const>medium</const>
|
||||
</test>
|
||||
<!--
|
||||
set the embolden flag
|
||||
needed for applications using cairo, e.g. gucharmap, gedit, ...
|
||||
-->
|
||||
<edit name="embolden" mode="assign">
|
||||
<bool>true</bool>
|
||||
</edit>
|
||||
<!--
|
||||
set weight to bold
|
||||
needed for applications using Xft directly, e.g. Firefox, ...
|
||||
-->
|
||||
<edit name="weight" mode="assign">
|
||||
<const>bold</const>
|
||||
</edit>
|
||||
</match>
|
||||
</fontconfig>
|
|
@ -0,0 +1,28 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<!--
|
||||
Some Asian fonts misadvertise themselves as monospaced when
|
||||
in fact they are dual-spaced (half and full). This makes
|
||||
FreeType very confused as it forces all widths to match.
|
||||
Undo this magic by disabling the width forcing code -->
|
||||
<match target="font">
|
||||
<test name="family"><string>GulimChe</string></test>
|
||||
<edit name="globaladvance"><bool>false</bool></edit>
|
||||
</match>
|
||||
|
||||
<match target="font">
|
||||
<test name="family"><string>DotumChe</string></test>
|
||||
<edit name="globaladvance"><bool>false</bool></edit>
|
||||
</match>
|
||||
|
||||
<match target="font">
|
||||
<test name="family"><string>BatangChe</string></test>
|
||||
<edit name="globaladvance"><bool>false</bool></edit>
|
||||
</match>
|
||||
|
||||
<match target="font">
|
||||
<test name="family"><string>GungsuhChe</string></test>
|
||||
<edit name="globaladvance"><bool>false</bool></edit>
|
||||
</match>
|
||||
</fontconfig>
|
|
@ -0,0 +1,48 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<!--
|
||||
The Bitstream Vera fonts have GASP entries suggesting that hinting be
|
||||
disabled below 8 ppem, but FreeType ignores those, preferring to use
|
||||
the data found in the instructed hints. The initial Vera release
|
||||
didn't include the right instructions in the 'prep' table. Fix this
|
||||
by disabling hinting manually at smaller sizes (< 8ppem)
|
||||
-->
|
||||
|
||||
<match target="font">
|
||||
<test name="family">
|
||||
<string>Bitstream Vera Sans</string>
|
||||
</test>
|
||||
<test name="pixelsize" compare="less">
|
||||
<double>7.5</double>
|
||||
</test>
|
||||
<edit name="hinting">
|
||||
<bool>false</bool>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
<match target="font">
|
||||
<test name="family">
|
||||
<string>Bitstream Vera Serif</string>
|
||||
</test>
|
||||
<test name="pixelsize" compare="less">
|
||||
<double>7.5</double>
|
||||
</test>
|
||||
<edit name="hinting">
|
||||
<bool>false</bool>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
<match target="font">
|
||||
<test name="family">
|
||||
<string>Bitstream Vera Sans Mono</string>
|
||||
</test>
|
||||
<test name="pixelsize" compare="less">
|
||||
<double>7.5</double>
|
||||
</test>
|
||||
<edit name="hinting">
|
||||
<bool>false</bool>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
</fontconfig>
|
|
@ -0,0 +1,211 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
|
||||
<!-- Alias similar/metric-compatible families from various sources:
|
||||
|
||||
PostScript fonts:
|
||||
Helvetica
|
||||
Times
|
||||
Courier
|
||||
URW fonts:
|
||||
Nimbus Sans L
|
||||
Nimbus Roman No9 L
|
||||
Nimbus Mono L
|
||||
|
||||
Microsoft fonts:
|
||||
Arial
|
||||
Times New Roman
|
||||
Courier New
|
||||
Liberation fonts:
|
||||
Liberation Sans
|
||||
Liberation Serif
|
||||
Liberation Mono
|
||||
StarOffice fonts:
|
||||
Albany
|
||||
Thorndale
|
||||
Cumberland
|
||||
AMT fonts:
|
||||
Albany AMT
|
||||
Thorndale AMT
|
||||
Cumberland AMT
|
||||
|
||||
Of these, URW fonts are design compatible with PostScrict fonts,
|
||||
and the Liberation, StarOffice, and AMT ones are compatible with
|
||||
Microsoft fonts.
|
||||
|
||||
We want for each of them to fallback to any of these
|
||||
available, but in an order preferring similar designs
|
||||
first. We do this in three steps:
|
||||
|
||||
1) Alias each specific to it's generic family.
|
||||
eg. Liberation Sans to Arial
|
||||
|
||||
2) Weak alias each generic to the other generic of its family.
|
||||
eg. Arial to Helvetica
|
||||
|
||||
3) Alias each generic to its specifics.
|
||||
eg. Arial to Liberation Sans, Albany, and Albany AMT
|
||||
-->
|
||||
|
||||
<!-- Map specifics to generics -->
|
||||
|
||||
<!-- PostScript -->
|
||||
<alias binding="same">
|
||||
<family>Nimbus Sans L</family>
|
||||
<default>
|
||||
<family>Helvetica</family>
|
||||
</default>
|
||||
</alias>
|
||||
|
||||
<alias binding="same">
|
||||
<family>Nimbus Roman No9 L</family>
|
||||
<default>
|
||||
<family>Times</family>
|
||||
</default>
|
||||
</alias>
|
||||
|
||||
<alias binding="same">
|
||||
<family>Nimbus Mono L</family>
|
||||
<default>
|
||||
<family>Courier</family>
|
||||
</default>
|
||||
</alias>
|
||||
|
||||
|
||||
<!-- Microsoft -->
|
||||
<alias binding="same">
|
||||
<family>Liberation Sans</family>
|
||||
<family>Albany</family>
|
||||
<family>Albany AMT</family>
|
||||
<default>
|
||||
<family>Arial</family>
|
||||
</default>
|
||||
</alias>
|
||||
|
||||
<alias binding="same">
|
||||
<family>Liberation Serif</family>
|
||||
<family>Thorndale</family>
|
||||
<family>Thorndale AMT</family>
|
||||
<default>
|
||||
<family>Times New Roman</family>
|
||||
</default>
|
||||
</alias>
|
||||
|
||||
<alias binding="same">
|
||||
<family>Liberation Mono</family>
|
||||
<family>Cumberland</family>
|
||||
<family>Cumberland AMT</family>
|
||||
<default>
|
||||
<family>Courier New</family>
|
||||
</default>
|
||||
</alias>
|
||||
|
||||
|
||||
|
||||
<!-- Accept the other group as fallback -->
|
||||
|
||||
|
||||
<!-- PostScript -->
|
||||
<alias>
|
||||
<family>Helvetica</family>
|
||||
<default>
|
||||
<family>Arial</family>
|
||||
</default>
|
||||
</alias>
|
||||
|
||||
<alias>
|
||||
<family>Times</family>
|
||||
<default>
|
||||
<family>Times New Roman</family>
|
||||
</default>
|
||||
</alias>
|
||||
|
||||
<alias>
|
||||
<family>Courier</family>
|
||||
<default>
|
||||
<family>Courier New</family>
|
||||
</default>
|
||||
</alias>
|
||||
|
||||
|
||||
<!-- Microsoft -->
|
||||
<alias>
|
||||
<family>Arial</family>
|
||||
<default>
|
||||
<family>Helvetica</family>
|
||||
</default>
|
||||
</alias>
|
||||
|
||||
<alias>
|
||||
<family>Times New Roman</family>
|
||||
<default>
|
||||
<family>Times</family>
|
||||
</default>
|
||||
</alias>
|
||||
|
||||
<alias>
|
||||
<family>Courier New</family>
|
||||
<default>
|
||||
<family>Courier</family>
|
||||
</default>
|
||||
</alias>
|
||||
|
||||
|
||||
|
||||
<!-- Map generics to specifics -->
|
||||
|
||||
|
||||
<!-- PostScript -->
|
||||
<alias binding="same">
|
||||
<family>Helvetica</family>
|
||||
<accept>
|
||||
<family>Nimbus Sans L</family>
|
||||
</accept>
|
||||
</alias>
|
||||
|
||||
<alias binding="same">
|
||||
<family>Times</family>
|
||||
<accept>
|
||||
<family>Nimbus Roman No9 L</family>
|
||||
</accept>
|
||||
</alias>
|
||||
|
||||
<alias binding="same">
|
||||
<family>Courier</family>
|
||||
<accept>
|
||||
<family>Nimbus Mono L</family>
|
||||
</accept>
|
||||
</alias>
|
||||
|
||||
|
||||
<!-- Microsoft -->
|
||||
<alias binding="same">
|
||||
<family>Arial</family>
|
||||
<accept>
|
||||
<family>Liberation Sans</family>
|
||||
<family>Albany</family>
|
||||
<family>Albany AMT</family>
|
||||
</accept>
|
||||
</alias>
|
||||
|
||||
<alias binding="same">
|
||||
<family>Times New Roman</family>
|
||||
<accept>
|
||||
<family>Liberation Serif</family>
|
||||
<family>Thorndale</family>
|
||||
<family>Thorndale AMT</family>
|
||||
</accept>
|
||||
</alias>
|
||||
|
||||
<alias binding="same">
|
||||
<family>Courier New</family>
|
||||
<accept>
|
||||
<family>Liberation Mono</family>
|
||||
<family>Cumberland</family>
|
||||
<family>Cumberland AMT</family>
|
||||
</accept>
|
||||
</alias>
|
||||
|
||||
|
||||
</fontconfig>
|
|
@ -0,0 +1,40 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<!--
|
||||
URW provides metric and shape compatible fonts for some Adobe families.
|
||||
Helvetica, Courier, and Times are handled in 30-metric-aliases.conf.
|
||||
-->
|
||||
<alias binding="same">
|
||||
<family>Avant Garde</family>
|
||||
<accept><family>URW Gothic L</family></accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>Bookman</family>
|
||||
<accept><family>URW Bookman L</family></accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>New Century Schoolbook</family>
|
||||
<accept><family>Century Schoolbook L</family></accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>Palatino</family>
|
||||
<accept><family>URW Palladio L</family></accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>Zapf Chancery</family>
|
||||
<accept><family>URW Chancery L</family></accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>Zapf Dingbats</family>
|
||||
<accept><family>Dingbats</family></accept>
|
||||
</alias>
|
||||
<match target="pattern">
|
||||
<test name="family">
|
||||
<string>Symbol</string>
|
||||
</test>
|
||||
<edit name="family" mode="append" binding="same">
|
||||
<string>Standard Symbols L</string>
|
||||
</edit>
|
||||
</match>
|
||||
</fontconfig>
|
|
@ -0,0 +1,90 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<!--
|
||||
Mark common families with their generics so we'll get
|
||||
something reasonable
|
||||
-->
|
||||
|
||||
<!--
|
||||
Serif faces
|
||||
-->
|
||||
<alias>
|
||||
<family>Nazli</family>
|
||||
<family>Lotoos</family>
|
||||
<family>Mitra</family>
|
||||
<family>Ferdosi</family>
|
||||
<family>Badr</family>
|
||||
<family>Zar</family>
|
||||
<family>Titr</family>
|
||||
<family>Jadid</family>
|
||||
<family>Kochi Mincho</family>
|
||||
<family>AR PL SungtiL GB</family>
|
||||
<family>AR PL Mingti2L Big5</family>
|
||||
<family>MS 明朝</family>
|
||||
<family>UnBatang</family>
|
||||
<family>Baekmuk Batang</family>
|
||||
<family>MgOpen Canonica</family>
|
||||
<family>Sazanami Mincho</family>
|
||||
<family>AR PL ZenKai Uni</family>
|
||||
<family>ZYSong18030</family>
|
||||
<family>FreeSerif</family>
|
||||
<default><family>serif</family></default>
|
||||
</alias>
|
||||
<!--
|
||||
Sans-serif faces
|
||||
-->
|
||||
<alias>
|
||||
<family>Arshia</family>
|
||||
<family>Elham</family>
|
||||
<family>Farnaz</family>
|
||||
<family>Nasim</family>
|
||||
<family>Sina</family>
|
||||
<family>Roya</family>
|
||||
<family>Koodak</family>
|
||||
<family>Terafik</family>
|
||||
<family>Kochi Gothic</family>
|
||||
<family>AR PL KaitiM GB</family>
|
||||
<family>AR PL KaitiM Big5</family>
|
||||
<family>MS ゴシック</family>
|
||||
<family>UnDotum</family>
|
||||
<family>Baekmuk Dotum</family>
|
||||
<family>SimSun</family>
|
||||
<family>MgOpen Modata</family>
|
||||
<family>Sazanami Gothic</family>
|
||||
<family>AR PL ShanHeiSun Uni</family>
|
||||
<family>ZYSong18030</family>
|
||||
<family>FreeSans</family>
|
||||
<default><family>sans-serif</family></default>
|
||||
</alias>
|
||||
<!--
|
||||
Monospace faces
|
||||
-->
|
||||
<alias>
|
||||
<family>NSimSun</family>
|
||||
<family>ZYSong18030</family>
|
||||
<family>FreeMono</family>
|
||||
<default><family>monospace</family></default>
|
||||
</alias>
|
||||
|
||||
<!--
|
||||
Fantasy faces
|
||||
-->
|
||||
<alias>
|
||||
<family>Homa</family>
|
||||
<family>Kamran</family>
|
||||
<family>Fantezi</family>
|
||||
<family>Tabassom</family>
|
||||
<default><family>fantasy</family></default>
|
||||
</alias>
|
||||
|
||||
<!--
|
||||
Cursive faces
|
||||
-->
|
||||
<alias>
|
||||
<family>IranNastaliq</family>
|
||||
<family>Nafees Nastaleeq</family>
|
||||
<default><family>cursive</family></default>
|
||||
</alias>
|
||||
|
||||
</fontconfig>
|
|
@ -0,0 +1,77 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<!--
|
||||
Mark common families with their generics so we'll get
|
||||
something reasonable
|
||||
-->
|
||||
|
||||
<!--
|
||||
Serif faces
|
||||
-->
|
||||
<alias>
|
||||
<family>Bitstream Vera Serif</family>
|
||||
<family>DejaVu Serif</family>
|
||||
<family>Liberation Serif</family>
|
||||
<family>Times New Roman</family>
|
||||
<family>Times</family>
|
||||
<family>Nimbus Roman No9 L</family>
|
||||
<family>Luxi Serif</family>
|
||||
<family>Thorndale AMT</family>
|
||||
<family>Thorndale</family>
|
||||
<default><family>serif</family></default>
|
||||
</alias>
|
||||
<!--
|
||||
Sans-serif faces
|
||||
-->
|
||||
<alias>
|
||||
<family>Bitstream Vera Sans</family>
|
||||
<family>DejaVu Sans</family>
|
||||
<family>Liberation Sans</family>
|
||||
<family>Arial</family>
|
||||
<family>Helvetica</family>
|
||||
<family>Verdana</family>
|
||||
<family>Albany AMT</family>
|
||||
<family>Albany</family>
|
||||
<family>Nimbus Sans L</family>
|
||||
<family>Luxi Sans</family>
|
||||
<default><family>sans-serif</family></default>
|
||||
</alias>
|
||||
<!--
|
||||
Monospace faces
|
||||
-->
|
||||
<alias>
|
||||
<family>Bitstream Vera Sans Mono</family>
|
||||
<family>DejaVu Sans Mono</family>
|
||||
<family>Liberation Mono</family>
|
||||
<family>Inconsolata</family>
|
||||
<family>Courier New</family>
|
||||
<family>Courier</family>
|
||||
<family>Andale Mono</family>
|
||||
<family>Luxi Mono</family>
|
||||
<family>Cumberland AMT</family>
|
||||
<family>Cumberland</family>
|
||||
<family>Nimbus Mono L</family>
|
||||
<default><family>monospace</family></default>
|
||||
</alias>
|
||||
<!--
|
||||
Fantasy faces
|
||||
-->
|
||||
<alias>
|
||||
<family>Impact</family>
|
||||
<family>Copperplate Gothic Std</family>
|
||||
<family>Cooper Std</family>
|
||||
<family>Bauhaus Std</family>
|
||||
<default><family>fantasy</family></default>
|
||||
</alias>
|
||||
<!--
|
||||
Cursive faces
|
||||
-->
|
||||
<alias>
|
||||
<family>ITC Zapf Chancery Std</family>
|
||||
<family>Zapfino</family>
|
||||
<family>Comic Sans MS</family>
|
||||
<default><family>cursive</family></default>
|
||||
</alias>
|
||||
|
||||
</fontconfig>
|
|
@ -0,0 +1,21 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<!--
|
||||
If the font still has no generic name, add sans-serif
|
||||
-->
|
||||
<match target="pattern">
|
||||
<test qual="all" name="family" compare="not_eq">
|
||||
<string>sans-serif</string>
|
||||
</test>
|
||||
<test qual="all" name="family" compare="not_eq">
|
||||
<string>serif</string>
|
||||
</test>
|
||||
<test qual="all" name="family" compare="not_eq">
|
||||
<string>monospace</string>
|
||||
</test>
|
||||
<edit name="family" mode="append_last">
|
||||
<string>sans-serif</string>
|
||||
</edit>
|
||||
</match>
|
||||
</fontconfig>
|
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<!-- Load per-user customization file -->
|
||||
<include ignore_missing="yes">~/.fonts.conf.d</include>
|
||||
<include ignore_missing="yes">~/.fonts.conf</include>
|
||||
</fontconfig>
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<!-- Load local system customization file -->
|
||||
<include ignore_missing="yes">local.conf</include>
|
||||
</fontconfig>
|
|
@ -0,0 +1,70 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<alias>
|
||||
<family>serif</family>
|
||||
<prefer>
|
||||
<family>Bitstream Vera Serif</family>
|
||||
<family>DejaVu Serif</family>
|
||||
<family>Times New Roman</family>
|
||||
<family>Thorndale AMT</family>
|
||||
<family>Luxi Serif</family>
|
||||
<family>Nimbus Roman No9 L</family>
|
||||
<family>Times</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>sans-serif</family>
|
||||
<prefer>
|
||||
<family>Bitstream Vera Sans</family>
|
||||
<family>DejaVu Sans</family>
|
||||
<family>Verdana</family>
|
||||
<family>Arial</family>
|
||||
<family>Albany AMT</family>
|
||||
<family>Luxi Sans</family>
|
||||
<family>Nimbus Sans L</family>
|
||||
<family>Helvetica</family>
|
||||
<family>Lucida Sans Unicode</family>
|
||||
<family>BPG Glaho International</family> <!-- lat,cyr,arab,geor -->
|
||||
<family>Tahoma</family> <!-- lat,cyr,greek,heb,arab,thai -->
|
||||
</prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>monospace</family>
|
||||
<prefer>
|
||||
<family>Bitstream Vera Sans Mono</family>
|
||||
<family>DejaVu Sans Mono</family>
|
||||
<family>Inconsolata</family>
|
||||
<family>Andale Mono</family>
|
||||
<family>Courier New</family>
|
||||
<family>Cumberland AMT</family>
|
||||
<family>Luxi Mono</family>
|
||||
<family>Nimbus Mono L</family>
|
||||
<family>Courier</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
<!--
|
||||
Fantasy faces
|
||||
-->
|
||||
<alias>
|
||||
<family>fantasy</family>
|
||||
<prefer>
|
||||
<family>Impact</family>
|
||||
<family>Copperplate Gothic Std</family>
|
||||
<family>Cooper Std</family>
|
||||
<family>Bauhaus Std</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
<!--
|
||||
Cursive faces
|
||||
-->
|
||||
<alias>
|
||||
<family>cursive</family>
|
||||
<prefer>
|
||||
<family>ITC Zapf Chancery Std</family>
|
||||
<family>Zapfino</family>
|
||||
<family>Comic Sans MS</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
|
||||
</fontconfig>
|
|
@ -0,0 +1,419 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<!--
|
||||
fonts-persian.conf
|
||||
To configure Persian fonts from The FarsiWeb Project.
|
||||
|
||||
Copyright (C) 2005 Sharif FarsiWeb, Inc. <license@farsiweb.info>
|
||||
|
||||
Permission to use, copy, modify, distribute, and sell this software and its
|
||||
documentation for any purpose is hereby granted without fee, provided that
|
||||
the above copyright notice appear in all copies and that both that
|
||||
copyright notice and this permission notice appear in supporting
|
||||
documentation, and that the name of Sharif FarsiWeb, Inc. not be used in
|
||||
advertising or publicity pertaining to distribution of the software without
|
||||
specific, written prior permission. Sharif FarsiWeb, Inc. makes no
|
||||
representations about the suitability of this software for any purpose. It
|
||||
is provided "as is" without express or implied warranty.
|
||||
|
||||
SHARIF FARSIWEB, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
||||
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
||||
EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
||||
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
|
||||
DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
ChangeLog:
|
||||
2005-04-03 Behdad Esfahbod: Initial revision.
|
||||
2005-10-09 Behdad Esfahbod: Turned off back-slant and Tahoma sections.
|
||||
2005-11-30 Behdad Esfahbod: Set Titr susbtitution size to 24 points.
|
||||
2008 Behdad Esfahbod: Cleanup. Add fantasy and cursive.
|
||||
-->
|
||||
<fontconfig>
|
||||
|
||||
|
||||
<!-- Deprecated fonts are discouraged -->
|
||||
|
||||
<!-- Nesf[2] is officially deprecated and has problematic tables -->
|
||||
<alias binding="same">
|
||||
<family>Nesf</family>
|
||||
<accept><family>Nesf2</family></accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>Nesf2</family>
|
||||
<accept><family>Persian_sansserif_default</family></accept>
|
||||
</alias>
|
||||
|
||||
<!-- Name changes and spelling variant aliases -->
|
||||
|
||||
<alias binding="same">
|
||||
<family>Nazanin</family>
|
||||
<accept><family>Nazli</family></accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>Lotus</family>
|
||||
<accept><family>Lotoos</family></accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>Yaqut</family>
|
||||
<accept><family>Yaghoot</family></accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>Yaghut</family>
|
||||
<accept><family>Yaghoot</family></accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>Traffic</family>
|
||||
<accept><family>Terafik</family></accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>Ferdowsi</family>
|
||||
<accept><family>Ferdosi</family></accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>Fantezy</family>
|
||||
<accept><family>Fantezi</family></accept>
|
||||
</alias>
|
||||
|
||||
|
||||
<!-- Classify fonts. -->
|
||||
|
||||
<!-- Persian_title class -->
|
||||
<alias binding="same">
|
||||
<family>Jadid</family>
|
||||
<accept><family>Persian_title</family></accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>Titr</family>
|
||||
<accept><family>Persian_title</family></accept>
|
||||
</alias>
|
||||
|
||||
<!-- Persian_fantasy class -->
|
||||
<alias binding="same">
|
||||
<family>Kamran</family>
|
||||
<accept>
|
||||
<family>Persian_fantasy</family>
|
||||
<family>Homa</family>
|
||||
</accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>Homa</family>
|
||||
<accept>
|
||||
<family>Persian_fantasy</family>
|
||||
<family>Kamran</family>
|
||||
</accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>Fantezi</family>
|
||||
<accept><family>Persian_fantasy</family></accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>Tabassom</family>
|
||||
<accept><family>Persian_fantasy</family></accept>
|
||||
</alias>
|
||||
|
||||
<!-- Persian_square class -->
|
||||
<alias binding="same">
|
||||
<family>Arshia</family>
|
||||
<accept><family>Persian_square</family></accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>Nasim</family>
|
||||
<accept><family>Persian_square</family></accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>Elham</family>
|
||||
<accept>
|
||||
<family>Persian_square</family>
|
||||
<family>Farnaz</family>
|
||||
</accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>Farnaz</family>
|
||||
<accept>
|
||||
<family>Persian_square</family>
|
||||
<family>Elham</family>
|
||||
</accept>
|
||||
</alias>
|
||||
<alias binding="same">
|
||||
<family>Sina</family>
|
||||
<accept><family>Persian_square</family></accept>
|
||||
</alias>
|
||||
|
||||
<!-- Font ordering per class -->
|
||||
|
||||
<!-- Persian_title class -->
|
||||
<alias binding="same">
|
||||
<family>Persian_title</family>
|
||||
<accept>
|
||||
<family>Titr</family>
|
||||
<family>Jadid</family>
|
||||
<family>Persian_serif</family>
|
||||
</accept>
|
||||
</alias>
|
||||
|
||||
<!-- Persian_fantasy class -->
|
||||
<alias binding="same">
|
||||
<family>Persian_fantasy</family>
|
||||
<accept>
|
||||
<family>Homa</family>
|
||||
<family>Kamran</family>
|
||||
<family>Fantezi</family>
|
||||
<family>Tabassom</family>
|
||||
<family>Persian_square</family>
|
||||
</accept>
|
||||
</alias>
|
||||
|
||||
<!-- Persian_square class -->
|
||||
<alias binding="same">
|
||||
<family>Persian_square</family>
|
||||
<accept>
|
||||
<family>Arshia</family>
|
||||
<family>Elham</family>
|
||||
<family>Farnaz</family>
|
||||
<family>Nasim</family>
|
||||
<family>Sina</family>
|
||||
<family>Persian_serif</family>
|
||||
</accept>
|
||||
</alias>
|
||||
|
||||
<!-- Register the fonts that we actually do have -->
|
||||
|
||||
<match target="scan">
|
||||
<test name="family">
|
||||
<string>Elham</string>
|
||||
</test>
|
||||
<edit name="foundry">
|
||||
<string>farsiweb</string>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
<match target="scan">
|
||||
<test name="family">
|
||||
<string>Homa</string>
|
||||
</test>
|
||||
<edit name="foundry">
|
||||
<string>farsiweb</string>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
<match target="scan">
|
||||
<test name="family">
|
||||
<string>Koodak</string>
|
||||
</test>
|
||||
<edit name="foundry">
|
||||
<string>farsiweb</string>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
<match target="scan">
|
||||
<test name="family">
|
||||
<string>Nazli</string>
|
||||
</test>
|
||||
<edit name="foundry">
|
||||
<string>farsiweb</string>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
<match target="scan">
|
||||
<test name="family">
|
||||
<string>Roya</string>
|
||||
</test>
|
||||
<edit name="foundry">
|
||||
<string>farsiweb</string>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
<match target="scan">
|
||||
<test name="family">
|
||||
<string>Terafik</string>
|
||||
</test>
|
||||
<edit name="foundry">
|
||||
<string>farsiweb</string>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
<match target="scan">
|
||||
<test name="family">
|
||||
<string>Titr</string>
|
||||
</test>
|
||||
<edit name="foundry">
|
||||
<string>farsiweb</string>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
|
||||
<!-- Our fonts should oblique to the other side (TURNED-OFF) -->
|
||||
|
||||
<match target="font">
|
||||
<test name="foundry">
|
||||
<!--string>farsiweb</string-->
|
||||
<string>TURNED-OFF</string>
|
||||
</test>
|
||||
<test name="foundry">
|
||||
<string>farsiweb</string>
|
||||
</test>
|
||||
<!-- check to see if the font is roman -->
|
||||
<test name="slant">
|
||||
<const>roman</const>
|
||||
</test>
|
||||
<!-- check to see if the pattern requested non-roman -->
|
||||
<test target="pattern" name="slant" compare="not_eq">
|
||||
<const>roman</const>
|
||||
</test>
|
||||
<!-- multiply the matrix to slant the font -->
|
||||
<edit name="matrix" mode="assign">
|
||||
<times>
|
||||
<name>matrix</name>
|
||||
<matrix><double>1</double><double>-0.2</double>
|
||||
<double>0</double><double>1</double>
|
||||
</matrix>
|
||||
</times>
|
||||
</edit>
|
||||
<!-- pretend the font is oblique now -->
|
||||
<edit name="slant" mode="assign">
|
||||
<const>oblique</const>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
|
||||
<!--
|
||||
We can't hint our fonts well, so turn off hinting.
|
||||
Moreover, the bitmaps we have designed (well, they
|
||||
have designed), suck, so disable them too.
|
||||
-->
|
||||
|
||||
<match target="font">
|
||||
<test name="foundry">
|
||||
<string>farsiweb</string>
|
||||
</test>
|
||||
<edit name="autohint">
|
||||
<bool>false</bool>
|
||||
</edit>
|
||||
<edit name="hinting">
|
||||
<bool>false</bool>
|
||||
</edit>
|
||||
<edit name="embeddedbitmap">
|
||||
<bool>false</bool>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
|
||||
<!-- Alias our fonts to common families -->
|
||||
|
||||
<!-- Persian serif fonts -->
|
||||
<alias>
|
||||
<family>serif</family>
|
||||
<accept>
|
||||
<family>Nazli</family>
|
||||
<family>Lotoos</family>
|
||||
<family>Mitra</family>
|
||||
<family>Ferdosi</family>
|
||||
<family>Badr</family>
|
||||
<family>Zar</family>
|
||||
</accept>
|
||||
</alias>
|
||||
|
||||
<!-- Persian sans-serif fonts -->
|
||||
<alias>
|
||||
<family>sans-serif</family>
|
||||
<accept>
|
||||
<family>Roya</family>
|
||||
<family>Koodak</family>
|
||||
<family>Terafik</family>
|
||||
</accept>
|
||||
</alias>
|
||||
|
||||
<!-- Persian monospace fonts -->
|
||||
<alias>
|
||||
<family>monospace</family>
|
||||
<accept>
|
||||
<!-- Not really monospace -->
|
||||
<family>Terafik</family>
|
||||
</accept>
|
||||
</alias>
|
||||
|
||||
<!-- Persian fantasy fonts -->
|
||||
<alias>
|
||||
<family>fantasy</family>
|
||||
<accept>
|
||||
<family>Homa</family>
|
||||
<family>Kamran</family>
|
||||
<family>Fantezi</family>
|
||||
<family>Tabassom</family>
|
||||
</accept>
|
||||
</alias>
|
||||
|
||||
<!-- Persian (and Urdu) Nastaliq/cursive fonts -->
|
||||
<alias>
|
||||
<family>cursive</family>
|
||||
<accept>
|
||||
<family>IranNastaliq</family>
|
||||
<family>Nafees Nastaleeq</family>
|
||||
</accept>
|
||||
</alias>
|
||||
|
||||
<!-- Use Titr in titles -->
|
||||
|
||||
<!-- Both serif... -->
|
||||
<match>
|
||||
<test name="family">
|
||||
<string>serif</string>
|
||||
</test>
|
||||
<test name="weight" compare="more_eq">
|
||||
<int>200</int>
|
||||
</test>
|
||||
<test name="size" compare="more_eq">
|
||||
<double>24</double>
|
||||
</test>
|
||||
<edit name="family" mode="prepend">
|
||||
<string>Titr</string>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
<!-- and sans-serif. -->
|
||||
<match>
|
||||
<test name="family">
|
||||
<string>sans-serif</string>
|
||||
</test>
|
||||
<test name="weight" compare="more_eq">
|
||||
<int>200</int>
|
||||
</test>
|
||||
<test name="size" compare="more_eq">
|
||||
<double>24</double>
|
||||
</test>
|
||||
<edit name="family" mode="prepend">
|
||||
<string>Titr</string>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
<!-- and more. -->
|
||||
<match>
|
||||
<test name="family">
|
||||
<string>Persian_sansserif_default</string>
|
||||
</test>
|
||||
<test name="weight" compare="more_eq">
|
||||
<int>200</int>
|
||||
</test>
|
||||
<test name="size" compare="more_eq">
|
||||
<double>24</double>
|
||||
</test>
|
||||
<edit name="family" mode="prepend" binding="same">
|
||||
<string>Titr</string>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
|
||||
<!-- Default substituted for deprecated sans-serif fonts -->
|
||||
|
||||
<match>
|
||||
<test name="family">
|
||||
<string>Persian_sansserif_default</string>
|
||||
</test>
|
||||
<edit name="family" mode="assign" binding="same">
|
||||
<string>Roya</string>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
</fontconfig>
|
|
@ -0,0 +1,195 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<alias>
|
||||
<family>serif</family>
|
||||
<prefer>
|
||||
<family>Artsounk</family> <!-- armenian -->
|
||||
<family>BPG UTF8 M</family> <!-- georgian -->
|
||||
<family>Kinnari</family> <!-- thai -->
|
||||
<family>Norasi</family> <!-- thai -->
|
||||
<family>Frank Ruehl</family> <!-- hebrew -->
|
||||
<family>Dror</family> <!-- hebrew -->
|
||||
<family>JG LaoTimes</family> <!-- lao -->
|
||||
<family>Saysettha Unicode</family> <!-- lao -->
|
||||
<family>Pigiarniq</family> <!-- canadian syllabics -->
|
||||
<family>B Davat</family> <!-- arabic (fa) -->
|
||||
<family>B Compset</family> <!-- arabic (fa) -->
|
||||
<family>Kacst-Qr</family> <!-- arabic (ar) -->
|
||||
<family>Urdu Nastaliq Unicode</family> <!-- arabic (ur) -->
|
||||
<family>Raghindi</family> <!-- devanagari -->
|
||||
<family>Mukti Narrow</family> <!-- bengali -->
|
||||
<family>malayalam</family> <!-- malayalam -->
|
||||
<family>Sampige</family> <!-- kannada -->
|
||||
<family>padmaa</family> <!-- gujarati -->
|
||||
<family>Hapax Berbère</family> <!-- tifinagh -->
|
||||
<family>MS Gothic</family> <!-- han (ja) -->
|
||||
<family>UmePlus P Gothic</family> <!-- han (ja) -->
|
||||
<family>SimSun</family> <!-- han (zh-cn,zh-tw) -->
|
||||
<family>PMingLiu</family> <!-- han (zh-tw) -->
|
||||
<family>WenQuanYi Zen Hei</family> <!-- han (zh-cn,zh-tw) -->
|
||||
<family>WenQuanYi Bitmap Song</family> <!-- han (zh-cn,zh-tw) -->
|
||||
<family>AR PL ShanHeiSun Uni</family> <!-- han (ja,zh-cn,zh-tw) -->
|
||||
<family>AR PL New Sung</family> <!-- han (zh-cn,zh-tw) -->
|
||||
<family>ZYSong18030</family> <!-- han (zh-cn,zh-tw) -->
|
||||
<family>HanyiSong</family> <!-- han (zh-cn,zh-tw) -->
|
||||
<family>MgOpen Canonica</family>
|
||||
<family>Sazanami Mincho</family>
|
||||
<family>IPAMonaMincho</family>
|
||||
<family>IPAMincho</family>
|
||||
<family>Kochi Mincho</family>
|
||||
<family>AR PL SungtiL GB</family>
|
||||
<family>AR PL Mingti2L Big5</family>
|
||||
<family>AR PL Zenkai Uni</family>
|
||||
<family>MS 明朝</family>
|
||||
<family>ZYSong18030</family>
|
||||
<family>UnBatang</family>
|
||||
<family>Baekmuk Batang</family>
|
||||
<family>KacstQura</family>
|
||||
<family>Frank Ruehl CLM</family>
|
||||
<family>Lohit Bengali</family>
|
||||
<family>Lohit Gujarati</family>
|
||||
<family>Lohit Hindi</family>
|
||||
<family>Lohit Marathi</family>
|
||||
<family>Lohit Maithili</family>
|
||||
<family>Lohit Kashmiri</family>
|
||||
<family>Lohit Konkani</family>
|
||||
<family>Lohit Nepali</family>
|
||||
<family>Lohit Sindhi</family>
|
||||
<family>Lohit Punjabi</family>
|
||||
<family>Lohit Tamil</family>
|
||||
<family>Meera</family>
|
||||
<family>Lohit Malayalam</family>
|
||||
<family>Lohit Kannada</family>
|
||||
<family>Lohit Telugu</family>
|
||||
<family>Lohit Oriya</family>
|
||||
<family>LKLUG</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>sans-serif</family>
|
||||
<prefer>
|
||||
<family>Nachlieli</family> <!-- hebrew -->
|
||||
<family>Lucida Sans Unicode</family>
|
||||
<family>Yudit Unicode</family>
|
||||
<family>Kerkis</family> <!-- greek -->
|
||||
<family>ArmNet Helvetica</family> <!-- armenian -->
|
||||
<family>Artsounk</family> <!-- armenian -->
|
||||
<family>BPG UTF8 M</family> <!-- georgian -->
|
||||
<family>Waree</family> <!-- thai -->
|
||||
<family>Loma</family> <!-- thai -->
|
||||
<family>Garuda</family> <!-- thai -->
|
||||
<family>Umpush</family> <!-- thai -->
|
||||
<family>Saysettha Unicode</family> <!-- lao? -->
|
||||
<family>JG Lao Old Arial</family> <!-- lao -->
|
||||
<family>GF Zemen Unicode</family> <!-- ethiopic -->
|
||||
<family>Pigiarniq</family> <!-- canadian syllabics -->
|
||||
<family>B Davat</family> <!-- arabic (fa) -->
|
||||
<family>B Compset</family> <!-- arabic (fa) -->
|
||||
<family>Kacst-Qr</family> <!-- arabic (ar) -->
|
||||
<family>Urdu Nastaliq Unicode</family> <!-- arabic (ur) -->
|
||||
<family>Raghindi</family> <!-- devanagari -->
|
||||
<family>Mukti Narrow</family> <!-- bengali -->
|
||||
<family>malayalam</family> <!-- malayalam -->
|
||||
<family>Sampige</family> <!-- kannada -->
|
||||
<family>padmaa</family> <!-- gujarati -->
|
||||
<family>Hapax Berbère</family> <!-- tifinagh -->
|
||||
<family>MS Gothic</family> <!-- han (ja) -->
|
||||
<family>UmePlus P Gothic</family> <!-- han (ja) -->
|
||||
<!-- chinese fonts are actually serifed -->
|
||||
<family>SimSun</family> <!-- han (zh-cn,zh-tw) -->
|
||||
<family>PMingLiu</family> <!-- han (zh-tw) -->
|
||||
<family>WenQuanYi Zen Hei</family> <!-- han (zh-cn,zh-tw) -->
|
||||
<family>WenQuanYi Bitmap Song</family> <!-- han (zh-cn,zh-tw) -->
|
||||
<family>AR PL ShanHeiSun Uni</family> <!--han (ja,zh-cn,zh-tw) -->
|
||||
<family>AR PL New Sung</family> <!-- han (zh-cn,zh-tw) -->
|
||||
<family>MgOpen Modata</family>
|
||||
<family>VL Gothic</family>
|
||||
<family>IPAMonaGothic</family>
|
||||
<family>IPAGothic</family>
|
||||
<family>Sazanami Gothic</family>
|
||||
<family>Kochi Gothic</family>
|
||||
<family>AR PL KaitiM GB</family>
|
||||
<family>AR PL KaitiM Big5</family>
|
||||
<family>AR PL ShanHeiSun Uni</family>
|
||||
<family>AR PL SungtiL GB</family>
|
||||
<family>AR PL Mingti2L Big5</family>
|
||||
<family>MS ゴシック</family>
|
||||
<family>ZYSong18030</family> <!-- han (zh-cn,zh-tw) -->
|
||||
<family>TSCu_Paranar</family> <!-- tamil -->
|
||||
<family>UnDotum</family>
|
||||
<family>Baekmuk Dotum</family>
|
||||
<family>Baekmuk Gulim</family>
|
||||
<family>KacstQura</family>
|
||||
<family>Lohit Bengali</family>
|
||||
<family>Lohit Gujarati</family>
|
||||
<family>Lohit Hindi</family>
|
||||
<family>Lohit Marathi</family>
|
||||
<family>Lohit Maithili</family>
|
||||
<family>Lohit Kashmiri</family>
|
||||
<family>Lohit Konkani</family>
|
||||
<family>Lohit Nepali</family>
|
||||
<family>Lohit Sindhi</family>
|
||||
<family>Lohit Punjabi</family>
|
||||
<family>Lohit Tamil</family>
|
||||
<family>Meera</family>
|
||||
<family>Lohit Malayalam</family>
|
||||
<family>Lohit Kannada</family>
|
||||
<family>Lohit Telugu</family>
|
||||
<family>Lohit Oriya</family>
|
||||
<family>LKLUG</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>monospace</family>
|
||||
<prefer>
|
||||
<family>Miriam Mono</family> <!-- hebrew -->
|
||||
<family>VL Gothic</family>
|
||||
<family>IPAMonaGothic</family>
|
||||
<family>IPAGothic</family>
|
||||
<family>Sazanami Gothic</family>
|
||||
<family>Kochi Gothic</family>
|
||||
<family>AR PL KaitiM GB</family>
|
||||
<family>MS Gothic</family> <!-- han (ja) -->
|
||||
<family>UmePlus Gothic</family> <!-- han (ja) -->
|
||||
<family>NSimSun</family> <!-- han (zh-cn,zh-tw) -->
|
||||
<family>MingLiu</family> <!-- han (zh-tw) -->
|
||||
<family>AR PL ShanHeiSun Uni</family> <!-- han (ja,zh-cn,zh-tw) -->
|
||||
<family>AR PL New Sung Mono</family> <!-- han (zh-cn,zh-tw) -->
|
||||
<family>HanyiSong</family> <!-- han (zh-cn) -->
|
||||
<family>AR PL SungtiL GB</family>
|
||||
<family>AR PL Mingti2L Big5</family>
|
||||
<family>ZYSong18030</family> <!-- han (zh-cn,zh-tw) -->
|
||||
<family>UnBatang</family>
|
||||
<family>UnDotum</family>
|
||||
<family>Baekmuk Batang</family> <!-- hangul -->
|
||||
<family>Baekmuk Dotum</family>
|
||||
<family>Baekmuk Gulim</family>
|
||||
<family>TlwgTypo</family> <!-- thai -->
|
||||
<family>TlwgTypist</family> <!-- thai -->
|
||||
<family>TlwgTypewriter</family> <!-- thai -->
|
||||
<family>TlwgMono</family> <!-- thai -->
|
||||
<family>Hasida</family> <!-- hebrew -->
|
||||
<family>Mitra Mono</family> <!-- bengali -->
|
||||
<family>GF Zemen Unicode</family> <!-- ethiopic -->
|
||||
<family>Hapax Berbère</family> <!-- tifinagh -->
|
||||
<family>Lohit Bengali</family>
|
||||
<family>Lohit Gujarati</family>
|
||||
<family>Lohit Hindi</family>
|
||||
<family>Lohit Marathi</family>
|
||||
<family>Lohit Maithili</family>
|
||||
<family>Lohit Kashmiri</family>
|
||||
<family>Lohit Konkani</family>
|
||||
<family>Lohit Nepali</family>
|
||||
<family>Lohit Sindhi</family>
|
||||
<family>Lohit Punjabi</family>
|
||||
<family>Lohit Tamil</family>
|
||||
<family>Meera</family>
|
||||
<family>Lohit Malayalam</family>
|
||||
<family>Lohit Kannada</family>
|
||||
<family>Lohit Telugu</family>
|
||||
<family>Lohit Oriya</family>
|
||||
<family>LKLUG</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
</fontconfig>
|
|
@ -0,0 +1,28 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<alias>
|
||||
<family>serif</family>
|
||||
<prefer>
|
||||
<family>FreeSerif</family>
|
||||
<family>Code2000</family>
|
||||
<family>Code2001</family> <!-- plane1 and beyond -->
|
||||
</prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>sans-serif</family>
|
||||
<prefer>
|
||||
<family>FreeSans</family>
|
||||
<family>Arial Unicode MS</family>
|
||||
<family>Arial Unicode</family>
|
||||
<family>Code2000</family> <!-- almost everything; serif actually -->
|
||||
<family>Code2001</family> <!-- plane1 and beyond -->
|
||||
</prefer>
|
||||
</alias>
|
||||
<alias>
|
||||
<family>monospace</family>
|
||||
<prefer>
|
||||
<family>FreeMono</family>
|
||||
</prefer>
|
||||
</alias>
|
||||
</fontconfig>
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<!-- Fix-ups for Delicious family -->
|
||||
|
||||
<!-- Delicious 'heavy' variant says its Medium weight -->
|
||||
<match target="scan">
|
||||
<test name="family">
|
||||
<string>Delicious</string>
|
||||
</test>
|
||||
<test name="style">
|
||||
<string>Heavy</string>
|
||||
</test>
|
||||
<edit name="weight">
|
||||
<const>heavy</const>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
</fontconfig>
|
|
@ -0,0 +1,64 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<fontconfig>
|
||||
<!--
|
||||
Artificial oblique for fonts without an italic or oblique version
|
||||
-->
|
||||
|
||||
<match target="font">
|
||||
<!-- check to see if the font is roman -->
|
||||
<test name="slant">
|
||||
<const>roman</const>
|
||||
</test>
|
||||
<!-- check to see if the pattern requested non-roman -->
|
||||
<test target="pattern" name="slant" compare="not_eq">
|
||||
<const>roman</const>
|
||||
</test>
|
||||
<!-- multiply the matrix to slant the font -->
|
||||
<edit name="matrix" mode="assign">
|
||||
<times>
|
||||
<name>matrix</name>
|
||||
<matrix><double>1</double><double>0.2</double>
|
||||
<double>0</double><double>1</double>
|
||||
</matrix>
|
||||
</times>
|
||||
</edit>
|
||||
<!-- pretend the font is oblique now -->
|
||||
<edit name="slant" mode="assign">
|
||||
<const>oblique</const>
|
||||
</edit>
|
||||
<!-- and disable embedded bitmaps for artificial oblique -->
|
||||
<edit name="embeddedbitmap" mode="assign">
|
||||
<bool>false</bool>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
<!--
|
||||
Synthetic emboldening for fonts that do not have bold face available
|
||||
-->
|
||||
|
||||
<match target="font">
|
||||
<!-- check to see if the font is just regular -->
|
||||
<test name="weight" compare="less_eq">
|
||||
<const>medium</const>
|
||||
</test>
|
||||
<!-- check to see if the pattern requests bold -->
|
||||
<test target="pattern" name="weight" compare="more">
|
||||
<const>medium</const>
|
||||
</test>
|
||||
<!--
|
||||
set the embolden flag
|
||||
needed for applications using cairo, e.g. gucharmap, gedit, ...
|
||||
-->
|
||||
<edit name="embolden" mode="assign">
|
||||
<bool>true</bool>
|
||||
</edit>
|
||||
<!--
|
||||
set weight to bold
|
||||
needed for applications using Xft directly, e.g. Firefox, ...
|
||||
-->
|
||||
<edit name="weight" mode="assign">
|
||||
<const>bold</const>
|
||||
</edit>
|
||||
</match>
|
||||
</fontconfig>
|
|
@ -0,0 +1,23 @@
|
|||
conf.d/README
|
||||
|
||||
Each file in this directory is a fontconfig configuration file. Fontconfig
|
||||
scans this directory, loading all files of the form [0-9][0-9]*.conf.
|
||||
These files are normally installed in ../conf.avail and then symlinked here,
|
||||
allowing them to be easily installed and then enabled/disabled by adjusting
|
||||
the symlinks.
|
||||
|
||||
The files are loaded in numeric order, the structure of the configuration
|
||||
has led to the following conventions in usage:
|
||||
|
||||
Files begining with: Contain:
|
||||
|
||||
00 through 09 Font directories
|
||||
10 through 19 system rendering defaults (AA, etc)
|
||||
20 through 29 font rendering options
|
||||
30 through 39 family substitution
|
||||
40 through 49 generic identification, map family->generic
|
||||
50 through 59 alternate config file loading
|
||||
60 through 69 generic aliases, map generic->family
|
||||
70 through 79 select font (adjust which fonts are available)
|
||||
80 through 89 match target="scan" (modify scanned patterns)
|
||||
90 through 99 font synthesis
|
|
@ -0,0 +1,151 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
|
||||
<!-- /etc/fonts/fonts.conf file to configure system font access -->
|
||||
<fontconfig>
|
||||
|
||||
<!--
|
||||
DO NOT EDIT THIS FILE.
|
||||
IT WILL BE REPLACED WHEN FONTCONFIG IS UPDATED.
|
||||
LOCAL CHANGES BELONG IN 'local.conf'.
|
||||
|
||||
The intent of this standard configuration file is to be adequate for
|
||||
most environments. If you have a reasonably normal environment and
|
||||
have found problems with this configuration, they are probably
|
||||
things that others will also want fixed. Please submit any
|
||||
problems to the fontconfig bugzilla system located at fontconfig.org
|
||||
|
||||
Note that the normal 'make install' procedure for fontconfig is to
|
||||
replace any existing fonts.conf file with the new version. Place
|
||||
any local customizations in local.conf which this file references.
|
||||
|
||||
Keith Packard
|
||||
-->
|
||||
|
||||
<!-- Font directory list -->
|
||||
|
||||
<dir>WINDOWSFONTDIR</dir>
|
||||
|
||||
<dir>~/.fonts</dir>
|
||||
|
||||
<!--
|
||||
Accept deprecated 'mono' alias, replacing it with 'monospace'
|
||||
-->
|
||||
<match target="pattern">
|
||||
<test qual="any" name="family">
|
||||
<string>mono</string>
|
||||
</test>
|
||||
<edit name="family" mode="assign">
|
||||
<string>monospace</string>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
<!--
|
||||
Accept alternate 'sans serif' spelling, replacing it with 'sans-serif'
|
||||
-->
|
||||
<match target="pattern">
|
||||
<test qual="any" name="family">
|
||||
<string>sans serif</string>
|
||||
</test>
|
||||
<edit name="family" mode="assign">
|
||||
<string>sans-serif</string>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
<!--
|
||||
Accept deprecated 'sans' alias, replacing it with 'sans-serif'
|
||||
-->
|
||||
<match target="pattern">
|
||||
<test qual="any" name="family">
|
||||
<string>sans</string>
|
||||
</test>
|
||||
<edit name="family" mode="assign">
|
||||
<string>sans-serif</string>
|
||||
</edit>
|
||||
</match>
|
||||
|
||||
<!--
|
||||
Load local system customization file
|
||||
-->
|
||||
<include ignore_missing="yes">conf.d</include>
|
||||
|
||||
<!-- Font cache directory list -->
|
||||
|
||||
<cachedir>WINDOWSTEMPDIR_FONTCONFIG_CACHE</cachedir>
|
||||
<cachedir>~/.fontconfig</cachedir>
|
||||
|
||||
<config>
|
||||
<!--
|
||||
These are the default Unicode chars that are expected to be blank
|
||||
in fonts. All other blank chars are assumed to be broken and
|
||||
won't appear in the resulting charsets
|
||||
-->
|
||||
<blank>
|
||||
<int>0x0020</int> <!-- SPACE -->
|
||||
<int>0x00A0</int> <!-- NO-BREAK SPACE -->
|
||||
<int>0x00AD</int> <!-- SOFT HYPHEN -->
|
||||
<int>0x034F</int> <!-- COMBINING GRAPHEME JOINER -->
|
||||
<int>0x0600</int> <!-- ARABIC NUMBER SIGN -->
|
||||
<int>0x0601</int> <!-- ARABIC SIGN SANAH -->
|
||||
<int>0x0602</int> <!-- ARABIC FOOTNOTE MARKER -->
|
||||
<int>0x0603</int> <!-- ARABIC SIGN SAFHA -->
|
||||
<int>0x06DD</int> <!-- ARABIC END OF AYAH -->
|
||||
<int>0x070F</int> <!-- SYRIAC ABBREVIATION MARK -->
|
||||
<int>0x115F</int> <!-- HANGUL CHOSEONG FILLER -->
|
||||
<int>0x1160</int> <!-- HANGUL JUNGSEONG FILLER -->
|
||||
<int>0x1680</int> <!-- OGHAM SPACE MARK -->
|
||||
<int>0x17B4</int> <!-- KHMER VOWEL INHERENT AQ -->
|
||||
<int>0x17B5</int> <!-- KHMER VOWEL INHERENT AA -->
|
||||
<int>0x180E</int> <!-- MONGOLIAN VOWEL SEPARATOR -->
|
||||
<int>0x2000</int> <!-- EN QUAD -->
|
||||
<int>0x2001</int> <!-- EM QUAD -->
|
||||
<int>0x2002</int> <!-- EN SPACE -->
|
||||
<int>0x2003</int> <!-- EM SPACE -->
|
||||
<int>0x2004</int> <!-- THREE-PER-EM SPACE -->
|
||||
<int>0x2005</int> <!-- FOUR-PER-EM SPACE -->
|
||||
<int>0x2006</int> <!-- SIX-PER-EM SPACE -->
|
||||
<int>0x2007</int> <!-- FIGURE SPACE -->
|
||||
<int>0x2008</int> <!-- PUNCTUATION SPACE -->
|
||||
<int>0x2009</int> <!-- THIN SPACE -->
|
||||
<int>0x200A</int> <!-- HAIR SPACE -->
|
||||
<int>0x200B</int> <!-- ZERO WIDTH SPACE -->
|
||||
<int>0x200C</int> <!-- ZERO WIDTH NON-JOINER -->
|
||||
<int>0x200D</int> <!-- ZERO WIDTH JOINER -->
|
||||
<int>0x200E</int> <!-- LEFT-TO-RIGHT MARK -->
|
||||
<int>0x200F</int> <!-- RIGHT-TO-LEFT MARK -->
|
||||
<int>0x2028</int> <!-- LINE SEPARATOR -->
|
||||
<int>0x2029</int> <!-- PARAGRAPH SEPARATOR -->
|
||||
<int>0x202A</int> <!-- LEFT-TO-RIGHT EMBEDDING -->
|
||||
<int>0x202B</int> <!-- RIGHT-TO-LEFT EMBEDDING -->
|
||||
<int>0x202C</int> <!-- POP DIRECTIONAL FORMATTING -->
|
||||
<int>0x202D</int> <!-- LEFT-TO-RIGHT OVERRIDE -->
|
||||
<int>0x202E</int> <!-- RIGHT-TO-LEFT OVERRIDE -->
|
||||
<int>0x202F</int> <!-- NARROW NO-BREAK SPACE -->
|
||||
<int>0x205F</int> <!-- MEDIUM MATHEMATICAL SPACE -->
|
||||
<int>0x2060</int> <!-- WORD JOINER -->
|
||||
<int>0x2061</int> <!-- FUNCTION APPLICATION -->
|
||||
<int>0x2062</int> <!-- INVISIBLE TIMES -->
|
||||
<int>0x2063</int> <!-- INVISIBLE SEPARATOR -->
|
||||
<int>0x206A</int> <!-- INHIBIT SYMMETRIC SWAPPING -->
|
||||
<int>0x206B</int> <!-- ACTIVATE SYMMETRIC SWAPPING -->
|
||||
<int>0x206C</int> <!-- INHIBIT ARABIC FORM SHAPING -->
|
||||
<int>0x206D</int> <!-- ACTIVATE ARABIC FORM SHAPING -->
|
||||
<int>0x206E</int> <!-- NATIONAL DIGIT SHAPES -->
|
||||
<int>0x206F</int> <!-- NOMINAL DIGIT SHAPES -->
|
||||
<int>0x2800</int> <!-- BRAILLE PATTERN BLANK -->
|
||||
<int>0x3000</int> <!-- IDEOGRAPHIC SPACE -->
|
||||
<int>0x3164</int> <!-- HANGUL FILLER -->
|
||||
<int>0xFEFF</int> <!-- ZERO WIDTH NO-BREAK SPACE -->
|
||||
<int>0xFFA0</int> <!-- HALFWIDTH HANGUL FILLER -->
|
||||
<int>0xFFF9</int> <!-- INTERLINEAR ANNOTATION ANCHOR -->
|
||||
<int>0xFFFA</int> <!-- INTERLINEAR ANNOTATION SEPARATOR -->
|
||||
<int>0xFFFB</int> <!-- INTERLINEAR ANNOTATION TERMINATOR -->
|
||||
</blank>
|
||||
<!--
|
||||
Rescan configuration every 30 seconds when FcFontSetList is called
|
||||
-->
|
||||
<rescan>
|
||||
<int>30</int>
|
||||
</rescan>
|
||||
</config>
|
||||
|
||||
</fontconfig>
|
|
@ -0,0 +1,224 @@
|
|||
<!-- This is the Document Type Definition for font configuration files -->
|
||||
<!ELEMENT fontconfig (dir |
|
||||
cache |
|
||||
cachedir |
|
||||
include |
|
||||
config |
|
||||
selectfont |
|
||||
match |
|
||||
alias)* >
|
||||
|
||||
<!--
|
||||
Add a directory that provides fonts
|
||||
-->
|
||||
<!ELEMENT dir (#PCDATA)>
|
||||
<!ATTLIST dir xml:space (default|preserve) 'preserve'>
|
||||
|
||||
<!--
|
||||
Define the per-user file that holds cache font information.
|
||||
|
||||
If the filename begins with '~', it is replaced with the users
|
||||
home directory path.
|
||||
-->
|
||||
<!ELEMENT cache (#PCDATA)>
|
||||
<!ATTLIST cache xml:space (default|preserve) 'preserve'>
|
||||
|
||||
<!--
|
||||
Add a directory that is searched for font cache files.
|
||||
These hold per-directory cache data and are searched in
|
||||
order for each directory. When writing cache files, the first
|
||||
directory which allows the cache file to be created is used.
|
||||
|
||||
A leading '~' in a directory name is replaced with the users
|
||||
home directory path.
|
||||
-->
|
||||
<!ELEMENT cachedir (#PCDATA)>
|
||||
<!ATTLIST cachedir xml:space (default|preserve) 'preserve'>
|
||||
|
||||
<!--
|
||||
Reference another configuration file; note that this
|
||||
is another complete font configuration file and not
|
||||
just a file included by the XML parser.
|
||||
|
||||
Set 'ignore_missing' to 'yes' if errors are to be ignored.
|
||||
|
||||
If the filename begins with '~', it is replaced with the users
|
||||
home directory path.
|
||||
-->
|
||||
<!ELEMENT include (#PCDATA)>
|
||||
<!ATTLIST include
|
||||
ignore_missing (no|yes) "no"
|
||||
xml:space (default|preserve) "preserve">
|
||||
|
||||
<!--
|
||||
Global library configuration data
|
||||
-->
|
||||
<!ELEMENT config (blank|rescan)*>
|
||||
|
||||
<!--
|
||||
Specify the set of Unicode encoding values which
|
||||
represent glyphs that are allowed to contain no
|
||||
data. With this list, fontconfig can examine
|
||||
fonts for broken glyphs and eliminate them from
|
||||
the set of valid Unicode chars. This idea
|
||||
was borrowed from Mozilla
|
||||
-->
|
||||
<!ELEMENT blank (int)*>
|
||||
|
||||
<!--
|
||||
Aliases are just a special case for multiple match elements
|
||||
|
||||
They are syntactically equivalent to:
|
||||
|
||||
<match>
|
||||
<test name="family">
|
||||
<string value=[family]/>
|
||||
</test>
|
||||
<edit name="family" mode="prepend">
|
||||
<string value=[prefer]/>
|
||||
...
|
||||
</edit>
|
||||
<edit name="family" mode="append">
|
||||
<string value=[accept]/>
|
||||
...
|
||||
</edit>
|
||||
<edit name="family" mode="append_last">
|
||||
<string value=[default]/>
|
||||
...
|
||||
</edit>
|
||||
</match>
|
||||
-->
|
||||
<!--
|
||||
Periodically rescan the font configuration and
|
||||
directories to synch internal state with filesystem
|
||||
-->
|
||||
<!ELEMENT rescan (int)>
|
||||
|
||||
<!--
|
||||
Edit list of available fonts at startup/reload time
|
||||
-->
|
||||
<!ELEMENT selectfont (rejectfont | acceptfont)* >
|
||||
|
||||
<!ELEMENT rejectfont (glob | pattern)*>
|
||||
|
||||
<!ELEMENT acceptfont (glob | pattern)*>
|
||||
|
||||
<!ELEMENT glob (#PCDATA)>
|
||||
|
||||
<!ELEMENT pattern (patelt)*>
|
||||
|
||||
<!ENTITY % constant 'int|double|string|matrix|bool|charset|const'>
|
||||
|
||||
<!ELEMENT patelt (%constant;)*>
|
||||
<!ATTLIST patelt
|
||||
name CDATA #REQUIRED>
|
||||
|
||||
<!ELEMENT alias (family*, prefer?, accept?, default?)>
|
||||
<!ATTLIST alias
|
||||
binding (weak|strong|same) "weak">
|
||||
<!ELEMENT prefer (family)*>
|
||||
<!ELEMENT accept (family)*>
|
||||
<!ELEMENT default (family)*>
|
||||
<!ELEMENT family (#PCDATA)>
|
||||
<!ATTLIST family xml:space (default|preserve) 'preserve'>
|
||||
|
||||
<!ENTITY % expr 'int|double|string|matrix|bool|charset
|
||||
|name|const
|
||||
|or|and|eq|not_eq|less|less_eq|more|more_eq|contains|not_contains
|
||||
|plus|minus|times|divide|not|if|floor|ceil|round|trunc'>
|
||||
|
||||
<!--
|
||||
Match and edit patterns.
|
||||
|
||||
If 'target' is 'pattern', execute the match before selecting a font.
|
||||
if 'target' is 'font', execute the match on the result of a font
|
||||
selection.
|
||||
-->
|
||||
<!ELEMENT match (test*, edit*)>
|
||||
<!ATTLIST match
|
||||
target (pattern|font|scan) "pattern">
|
||||
|
||||
<!--
|
||||
Match a field in a pattern
|
||||
|
||||
if 'qual' is 'any', then the match succeeds if any value in the field matches.
|
||||
if 'qual' is 'all', then the match succeeds only if all values match.
|
||||
if 'qual' is 'first', then the match succeeds only if the first value matches.
|
||||
if 'qual' is 'not_first', then the match succeeds only if any value other than
|
||||
the first matches.
|
||||
For match elements with target=font, if test 'target' is 'pattern',
|
||||
then the test is applied to the pattern used in matching rather than
|
||||
to the resulting font.
|
||||
|
||||
Match elements with target=scan are applied as fonts are scanned.
|
||||
They edit the pattern generated from the scanned font and affect
|
||||
what the fontconfig database contains.
|
||||
-->
|
||||
<!ELEMENT test (%expr;)*>
|
||||
<!ATTLIST test
|
||||
qual (any|all|first|not_first) "any"
|
||||
name CDATA #REQUIRED
|
||||
target (pattern|font|default) "default"
|
||||
compare (eq|not_eq|less|less_eq|more|more_eq|contains|not_contains) "eq">
|
||||
|
||||
<!--
|
||||
Edit a field in a pattern
|
||||
|
||||
The enclosed values are used together to edit the list of values
|
||||
associated with 'name'.
|
||||
|
||||
If 'name' matches one of those used in a test element for this match element:
|
||||
if 'mode' is 'assign', replace the matched value.
|
||||
if 'mode' is 'assign_replace', replace all of the values
|
||||
if 'mode' is 'prepend', insert before the matched value
|
||||
if 'mode' is 'append', insert after the matched value
|
||||
if 'mode' is 'prepend_first', insert before all of the values
|
||||
if 'mode' is 'append_last', insert after all of the values
|
||||
If 'name' doesn't match any of those used in a test element:
|
||||
if 'mode' is 'assign' or 'assign_replace, replace all of the values
|
||||
if 'mode' is 'prepend' or 'prepend_first', insert before all of the values
|
||||
if 'mode' is 'append' or 'append_last', insert after all of the values
|
||||
-->
|
||||
<!ELEMENT edit (%expr;)*>
|
||||
<!ATTLIST edit
|
||||
name CDATA #REQUIRED
|
||||
mode (assign|assign_replace|prepend|append|prepend_first|append_last) "assign"
|
||||
binding (weak|strong|same) "weak">
|
||||
|
||||
<!--
|
||||
Elements of expressions follow
|
||||
-->
|
||||
<!ELEMENT int (#PCDATA)>
|
||||
<!ATTLIST int xml:space (default|preserve) 'preserve'>
|
||||
<!ELEMENT double (#PCDATA)>
|
||||
<!ATTLIST double xml:space (default|preserve) 'preserve'>
|
||||
<!ELEMENT string (#PCDATA)>
|
||||
<!ATTLIST string xml:space (default|preserve) 'preserve'>
|
||||
<!ELEMENT matrix (double,double,double,double)>
|
||||
<!ELEMENT bool (#PCDATA)>
|
||||
<!ELEMENT charset (#PCDATA)>
|
||||
<!ATTLIST charset xml:space (default|preserve) 'preserve'>
|
||||
<!ELEMENT name (#PCDATA)>
|
||||
<!ATTLIST name xml:space (default|preserve) 'preserve'>
|
||||
<!ELEMENT const (#PCDATA)>
|
||||
<!ATTLIST const xml:space (default|preserve) 'preserve'>
|
||||
<!ELEMENT or (%expr;)*>
|
||||
<!ELEMENT and (%expr;)*>
|
||||
<!ELEMENT eq ((%expr;), (%expr;))>
|
||||
<!ELEMENT not_eq ((%expr;), (%expr;))>
|
||||
<!ELEMENT less ((%expr;), (%expr;))>
|
||||
<!ELEMENT less_eq ((%expr;), (%expr;))>
|
||||
<!ELEMENT more ((%expr;), (%expr;))>
|
||||
<!ELEMENT more_eq ((%expr;), (%expr;))>
|
||||
<!ELEMENT contains ((%expr;), (%expr;))>
|
||||
<!ELEMENT not_contains ((%expr;), (%expr;))>
|
||||
<!ELEMENT plus (%expr;)*>
|
||||
<!ELEMENT minus (%expr;)*>
|
||||
<!ELEMENT times (%expr;)*>
|
||||
<!ELEMENT divide (%expr;)*>
|
||||
<!ELEMENT not (%expr;)>
|
||||
<!ELEMENT if ((%expr;), (%expr;), (%expr;))>
|
||||
<!ELEMENT floor (%expr;)>
|
||||
<!ELEMENT ceil (%expr;)>
|
||||
<!ELEMENT round (%expr;)>
|
||||
<!ELEMENT trunc (%expr;)>
|
|
@ -0,0 +1,39 @@
|
|||
# GTK+ Input Method Modules file
|
||||
# Automatically generated file, do not edit
|
||||
# Created by c:/Users/VKamyshniy/gtk/source/gtk+-2.24.18/gtk/.libs/gtk-query-immodules-2.0.exe from gtk+-2.24.18
|
||||
#
|
||||
# ModulesPath = c:\Users\VKamyshniy\.gtk-2.0\2.10.0\i686-pc-mingw32\immodules;c:\Users\VKamyshniy\.gtk-2.0\2.10.0\immodules;c:\Users\VKamyshniy\.gtk-2.0\i686-pc-mingw32\immodules;c:\Users\VKamyshniy\.gtk-2.0\immodules;c:/Users/VKamyshniy/gtk/inst/lib\gtk-2.0\2.10.0\i686-pc-mingw32\immodules;c:/Users/VKamyshniy/gtk/inst/lib\gtk-2.0\2.10.0\immodules;c:/Users/VKamyshniy/gtk/inst/lib\gtk-2.0\i686-pc-mingw32\immodules;c:/Users/VKamyshniy/gtk/inst/lib\gtk-2.0\immodules
|
||||
#
|
||||
"c:/Users/VKamyshniy/gtk/inst/lib/gtk-2.0/2.10.0/immodules/im-am-et.dll"
|
||||
"am_et" "Amharic (EZ+)" "gtk20" "/Users/VKamyshniy/gtk/inst/share/locale" "am"
|
||||
|
||||
"c:/Users/VKamyshniy/gtk/inst/lib/gtk-2.0/2.10.0/immodules/im-cedilla.dll"
|
||||
"cedilla" "Cedilla" "gtk20" "/Users/VKamyshniy/gtk/inst/share/locale" "az:ca:co:fr:gv:oc:pt:sq:tr:wa"
|
||||
|
||||
"c:/Users/VKamyshniy/gtk/inst/lib/gtk-2.0/2.10.0/immodules/im-cyrillic-translit.dll"
|
||||
"cyrillic_translit" "Cyrillic (Transliterated)" "gtk20" "/Users/VKamyshniy/gtk/inst/share/locale" ""
|
||||
|
||||
"c:/Users/VKamyshniy/gtk/inst/lib/gtk-2.0/2.10.0/immodules/im-ime.dll"
|
||||
"ime" "Windows IME" "gtk+" "" "ja:ko:zh"
|
||||
|
||||
"c:/Users/VKamyshniy/gtk/inst/lib/gtk-2.0/2.10.0/immodules/im-inuktitut.dll"
|
||||
"inuktitut" "Inuktitut (Transliterated)" "gtk20" "/Users/VKamyshniy/gtk/inst/share/locale" "iu"
|
||||
|
||||
"c:/Users/VKamyshniy/gtk/inst/lib/gtk-2.0/2.10.0/immodules/im-ipa.dll"
|
||||
"ipa" "IPA" "gtk20" "/Users/VKamyshniy/gtk/inst/share/locale" ""
|
||||
|
||||
"c:/Users/VKamyshniy/gtk/inst/lib/gtk-2.0/2.10.0/immodules/im-multipress.dll"
|
||||
"multipress" "Multipress" "gtk20" "" ""
|
||||
|
||||
"c:/Users/VKamyshniy/gtk/inst/lib/gtk-2.0/2.10.0/immodules/im-thai.dll"
|
||||
"thai" "Thai-Lao" "gtk20" "/Users/VKamyshniy/gtk/inst/share/locale" "lo:th"
|
||||
|
||||
"c:/Users/VKamyshniy/gtk/inst/lib/gtk-2.0/2.10.0/immodules/im-ti-er.dll"
|
||||
"ti_er" "Tigrigna-Eritrean (EZ+)" "gtk20" "/Users/VKamyshniy/gtk/inst/share/locale" "ti"
|
||||
|
||||
"c:/Users/VKamyshniy/gtk/inst/lib/gtk-2.0/2.10.0/immodules/im-ti-et.dll"
|
||||
"ti_et" "Tigrigna-Ethiopian (EZ+)" "gtk20" "/Users/VKamyshniy/gtk/inst/share/locale" "ti"
|
||||
|
||||
"c:/Users/VKamyshniy/gtk/inst/lib/gtk-2.0/2.10.0/immodules/im-viqr.dll"
|
||||
"viqr" "Vietnamese (VIQR)" "gtk20" "/Users/VKamyshniy/gtk/inst/share/locale" "vi"
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
# Example configuration file for the GTK+ Multipress Input Method
|
||||
# Authored by Openismus GmbH, 2009.
|
||||
#
|
||||
# This file follows the GKeyFile format. On the left of the equal sign goes
|
||||
# the key that you press repeatedly to iterate through the text items listed
|
||||
# on the right-hand side. The list items are separated by semicolons ";" and
|
||||
# consist of one or more characters each. The backslash "\" is used to escape
|
||||
# characters; for instance "\;" for a literal semicolon.
|
||||
#
|
||||
# The example configuration below imitates the behavior of a standard mobile
|
||||
# phone by a major manufacturer, with German language setting.
|
||||
[keys]
|
||||
KP_1 = .;,;?;!;';";1;-;(;);@;/;:;_
|
||||
KP_2 = a;b;c;2;ä;à;á;ã;â;å;æ;ç
|
||||
KP_3 = d;e;f;3;è;é;ë;ê;ð
|
||||
KP_4 = g;h;i;4;ì;í;î;ï
|
||||
KP_5 = j;k;l;5;£
|
||||
KP_6 = m;n;o;6;ö;ò;ó;ô;õ;ø;ñ
|
||||
KP_7 = p;q;r;s;7;ß;$
|
||||
KP_8 = t;u;v;8;ü;ù;ú;û
|
||||
KP_9 = w;x;y;z;9;ý;þ
|
||||
KP_0 = \s;0
|
|
@ -0,0 +1,35 @@
|
|||
# Pango Modules file
|
||||
# Automatically generated file, do not edit
|
||||
#
|
||||
# ModulesPath = c:/Users/VKamyshniy/gtk/inst/lib/pango\1.6.0\modules
|
||||
#
|
||||
"./lib/pango/1.6.0/modules/pango-arabic-fc.dll" ArabicScriptEngineFc PangoEngineShape PangoRenderFc arabic:* nko:*
|
||||
"./lib/pango/1.6.0/modules/pango-arabic-lang.dll" ArabicScriptEngineLang PangoEngineLang PangoRenderNone arabic:*
|
||||
"./lib/pango/1.6.0/modules/pango-basic-fc.dll" BasicScriptEngineFc PangoEngineShape PangoRenderFc latin:* cyrillic:* greek:* armenian:* georgian:* runic:* ogham:* bopomofo:* cherokee:* coptic:* deseret:* ethiopic:* gothic:* han:* hiragana:* katakana:* old-italic:* canadian-aboriginal:* yi:* braille:* cypriot:* limbu:* osmanya:* shavian:* linear-b:* ugaritic:* glagolitic:* cuneiform:* phoenician:* common:
|
||||
"./lib/pango/1.6.0/modules/pango-basic-win32.dll" BasicScriptEngineWin32 PangoEngineShape PangoRenderWin32 common:
|
||||
"./lib/pango/1.6.0/modules/pango-hangul-fc.dll" HangulScriptEngineFc PangoEngineShape PangoRenderFc hangul:*
|
||||
"./lib/pango/1.6.0/modules/pango-hebrew-fc.dll" HebrewScriptEngineFc PangoEngineShape PangoRenderFc hebrew:*
|
||||
"./lib/pango/1.6.0/modules/pango-indic-fc.dll" devaScriptEngineFc PangoEngineShape PangoRenderFc devanagari:*
|
||||
"./lib/pango/1.6.0/modules/pango-indic-fc.dll" bengScriptEngineFc PangoEngineShape PangoRenderFc bengali:*
|
||||
"./lib/pango/1.6.0/modules/pango-indic-fc.dll" guruScriptEngineFc PangoEngineShape PangoRenderFc gurmukhi:*
|
||||
"./lib/pango/1.6.0/modules/pango-indic-fc.dll" gujrScriptEngineFc PangoEngineShape PangoRenderFc gujarati:*
|
||||
"./lib/pango/1.6.0/modules/pango-indic-fc.dll" oryaScriptEngineFc PangoEngineShape PangoRenderFc oriya:*
|
||||
"./lib/pango/1.6.0/modules/pango-indic-fc.dll" tamlScriptEngineFc PangoEngineShape PangoRenderFc tamil:*
|
||||
"./lib/pango/1.6.0/modules/pango-indic-fc.dll" teluScriptEngineFc PangoEngineShape PangoRenderFc telugu:*
|
||||
"./lib/pango/1.6.0/modules/pango-indic-fc.dll" kndaScriptEngineFc PangoEngineShape PangoRenderFc kannada:*
|
||||
"./lib/pango/1.6.0/modules/pango-indic-fc.dll" mlymScriptEngineFc PangoEngineShape PangoRenderFc malayalam:*
|
||||
"./lib/pango/1.6.0/modules/pango-indic-fc.dll" sinhScriptEngineFc PangoEngineShape PangoRenderFc sinhala:*
|
||||
"./lib/pango/1.6.0/modules/pango-indic-lang.dll" devaIndicScriptEngineLang PangoEngineLang PangoRenderNone devanagari:*
|
||||
"./lib/pango/1.6.0/modules/pango-indic-lang.dll" bengIndicScriptEngineLang PangoEngineLang PangoRenderNone bengali:*
|
||||
"./lib/pango/1.6.0/modules/pango-indic-lang.dll" guruIndicScriptEngineLang PangoEngineLang PangoRenderNone gurmukhi:*
|
||||
"./lib/pango/1.6.0/modules/pango-indic-lang.dll" gujrIndicScriptEngineLang PangoEngineLang PangoRenderNone gujarati:*
|
||||
"./lib/pango/1.6.0/modules/pango-indic-lang.dll" oryaIndicScriptEngineLang PangoEngineLang PangoRenderNone oriya:*
|
||||
"./lib/pango/1.6.0/modules/pango-indic-lang.dll" tamlIndicScriptEngineLang PangoEngineLang PangoRenderNone tamil:*
|
||||
"./lib/pango/1.6.0/modules/pango-indic-lang.dll" teluIndicScriptEngineLang PangoEngineLang PangoRenderNone telugu:*
|
||||
"./lib/pango/1.6.0/modules/pango-indic-lang.dll" kndaIndicScriptEngineLang PangoEngineLang PangoRenderNone kannada:*
|
||||
"./lib/pango/1.6.0/modules/pango-indic-lang.dll" mlymIndicScriptEngineLang PangoEngineLang PangoRenderNone malayalam:*
|
||||
"./lib/pango/1.6.0/modules/pango-indic-lang.dll" sinhIndicScriptEngineLang PangoEngineLang PangoRenderNone sinhala:*
|
||||
"./lib/pango/1.6.0/modules/pango-khmer-fc.dll" KhmerScriptEngineFc PangoEngineShape PangoRenderFc khmer:*
|
||||
"./lib/pango/1.6.0/modules/pango-syriac-fc.dll" SyriacScriptEngineFc PangoEngineShape PangoRenderFc syriac:*
|
||||
"./lib/pango/1.6.0/modules/pango-thai-fc.dll" ThaiScriptEngineFc PangoEngineShape PangoRenderFc thai:* lao:*
|
||||
"./lib/pango/1.6.0/modules/pango-tibetan-fc.dll" TibetanScriptEngineFc PangoEngineShape PangoRenderFc tibetan:*
|
|
@ -54,6 +54,8 @@ mkdir -p $PACKAGE_DIR/lib/pango/1.6.0/modules
|
|||
cp -r $MINGW_ROOT/lib/pango/1.6.0/modules/*.dll $PACKAGE_DIR/lib/pango/1.6.0/modules
|
||||
cp $TOOLS_DIR/pango.modules $PACKAGE_DIR/etc/pango
|
||||
|
||||
cp $TOOLS_DIR/README $PACKAGE_DIR
|
||||
|
||||
DLLS='
|
||||
jack-0.dll
|
||||
jackserver-0.dll
|
||||
|
@ -144,7 +146,7 @@ libs/timecode
|
|||
libs/audiographer
|
||||
'
|
||||
|
||||
if test x$DEBUG != x ; then
|
||||
if [ x$DEBUG = xT ]; then
|
||||
|
||||
PACKAGE_SRC_DIR=$PACKAGE_DIR/src
|
||||
echo "Copying source files to $PACKAGE_SRC_DIR ..."
|
||||
|
@ -158,20 +160,21 @@ if test x$DEBUG != x ; then
|
|||
echo "Copying JACK utility programs to $PACKAGE_DIR ..."
|
||||
cp $MINGW_ROOT/bin/jack_*.exe $PACKAGE_DIR
|
||||
|
||||
echo "Copying any debug files to $PACKAGE_DIR ..."
|
||||
cp $MINGW_ROOT/bin/*.debug $PACKAGE_DIR
|
||||
#echo "Copying any debug files to $PACKAGE_DIR ..."
|
||||
#cp $MINGW_ROOT/bin/*.debug $PACKAGE_DIR
|
||||
|
||||
echo "Copying gdb to $PACKAGE_DIR ..."
|
||||
echo "Copying gdb and config files to $PACKAGE_DIR ..."
|
||||
cp $MINGW_ROOT/bin/gdb.exe $PACKAGE_DIR
|
||||
|
||||
echo "Copying .gdbinit to $PACKAGE_DIR ..."
|
||||
cp $TOOLS_DIR/gdbinit $PACKAGE_DIR/.gdbinit
|
||||
cp $TOOLS_DIR/gdbinit_home $PACKAGE_DIR/gdbinit_home
|
||||
cp $TOOLS_DIR/gdb.bat $PACKAGE_DIR/gdb.bat
|
||||
cp $TOOLS_DIR/gdb-ardour.bat $PACKAGE_DIR/gdb-ardour.bat
|
||||
|
||||
echo "Copying Gtk demo to $PACKAGE_DIR ..."
|
||||
cp $MINGW_ROOT/bin/gtk-demo.exe $PACKAGE_DIR
|
||||
else
|
||||
echo "Optimized build Stripping executable ..."
|
||||
$STRIP $PACKAGE_DIR/ardour-3.0.exe
|
||||
find $PACKAGE_DIR -type f -name "*.exe*" | xargs $STRIP
|
||||
echo "Stripping libraries ..."
|
||||
find $PACKAGE_DIR -type f -name "*.dll*" | xargs $STRIP
|
||||
fi
|
||||
|
|
|
@ -0,0 +1,242 @@
|
|||
#!/bin/bash
|
||||
function copydll () {
|
||||
if [ -f $GTK/bin/$1 ] ; then
|
||||
echo "cp $GTK/bin/$1 $2"
|
||||
cp $GTK/bin/$1 $2 || return 1
|
||||
return 0
|
||||
fi
|
||||
|
||||
if [ -f $GTK/lib/$1 ] ; then
|
||||
echo "cp $GTK/lib/$1 $2"
|
||||
cp $GTK/lib/$1 $2 || return 1
|
||||
return 0
|
||||
fi
|
||||
|
||||
if [ -f $A3/bin/$1 ] ; then
|
||||
echo "cp $A3/bin/$1 $2"
|
||||
cp $A3/bin/$1 $2 || return 1
|
||||
return 0
|
||||
fi
|
||||
|
||||
if [ -f $A3/lib/$1 ] ; then
|
||||
echo "$A3/lib/$1 $2"
|
||||
cp $A3/lib/$1 $2 || return 1
|
||||
return 0
|
||||
fi
|
||||
if which $1 ; then
|
||||
echo "cp `which $1` $2"
|
||||
cp `which $1` $2 || return 1
|
||||
return 0
|
||||
fi
|
||||
|
||||
echo "there is no $1"
|
||||
return 1
|
||||
}
|
||||
|
||||
# libcrypto-10.dll -- OOPS
|
||||
# libgnomecanvasmm-2.6-1.dll -- OOPS
|
||||
# iconv.dll == libiconv-2.dll
|
||||
# libpng15-15.dll == libpng16-16.dll
|
||||
# liblo-7.dll == liblo.dll
|
||||
|
||||
ABANDONEDDLLS='
|
||||
jack-0.dll
|
||||
jackserver-0.dll
|
||||
libbz2-1.dll
|
||||
libcppunit-1-12-1.dll
|
||||
libexpat-1.dll
|
||||
libgnurx-0.dll
|
||||
libharfbuzz-0.dll
|
||||
libFLAC-8.dll
|
||||
libvorbis-0.dll
|
||||
libvorbisenc-2.dll
|
||||
libidn-11.dll
|
||||
libssh2-1.dll
|
||||
libssl-10.dll
|
||||
pthreadGC2.dll
|
||||
'
|
||||
|
||||
DLLS='
|
||||
libiconv-2.dll
|
||||
libpng16-16.dll
|
||||
liblo.dll
|
||||
libart_lgpl_2-2.dll
|
||||
libatk-1.0-0.dll
|
||||
libatkmm-1.6-1.dll
|
||||
libcairo-2.dll
|
||||
libcairo-gobject-2.dll
|
||||
libcairomm-1.0-1.dll
|
||||
libcairo-script-interpreter-2.dll
|
||||
libcurl-4.dll
|
||||
libfftw3-3.dll
|
||||
libfftw3f-3.dll
|
||||
libfontconfig-1.dll
|
||||
libfreetype-6.dll
|
||||
libgailutil-18.dll
|
||||
libgdkmm-2.4-1.dll
|
||||
libgdk_pixbuf-2.0-0.dll
|
||||
libgdk-win32-2.0-0.dll
|
||||
libgio-2.0-0.dll
|
||||
libgiomm-2.4-1.dll
|
||||
libglib-2.0-0.dll
|
||||
libglibmm-2.4-1.dll
|
||||
libglibmm_generate_extra_defs-2.4-1.dll
|
||||
libgmodule-2.0-0.dll
|
||||
libgnomecanvas-2-0.dll
|
||||
libgobject-2.0-0.dll
|
||||
libgthread-2.0-0.dll
|
||||
libgtkmm-2.4-1.dll
|
||||
libgtk-win32-2.0-0.dll
|
||||
libiconv-2.dll
|
||||
libogg-0.dll
|
||||
libffi-6.dll
|
||||
libintl-8.dll
|
||||
libpango-1.0-0.dll
|
||||
libpangocairo-1.0-0.dll
|
||||
libpangoft2-1.0-0.dll
|
||||
libpangomm-1.4-1.dll
|
||||
libpangowin32-1.0-0.dll
|
||||
libpixman-1-0.dll
|
||||
libsamplerate-0.dll
|
||||
libsigc-2.0-0.dll
|
||||
libsndfile-1.dll
|
||||
libxml2-2.dll
|
||||
zlib1.dll
|
||||
libstdc++-6.dll
|
||||
libgcc_s_sjlj-1.dll
|
||||
libwinpthread-1.dll
|
||||
libeay32.dll
|
||||
ssleay32.dll
|
||||
libregex-1.dll
|
||||
libportaudio-2.dll
|
||||
'
|
||||
. ./win32-env.sh
|
||||
. ./print-env.sh
|
||||
|
||||
cd $BASE || exit 1
|
||||
|
||||
if ! test -f $BUILD_CACHE_FILE; then
|
||||
echo "ERROR: $APPNAME is not configured and built yet..."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -d $PACKAGE_DIR ]; then
|
||||
echo "Removing old package directory structure ..."
|
||||
rm -rf $PACKAGE_DIR || exit 1
|
||||
fi
|
||||
echo "./waf --destdir=$PACKAGE_DIR install"
|
||||
|
||||
./waf --destdir=$PACKAGE_DIR install || exit 1
|
||||
|
||||
echo "Moving everything from $PACKAGE_DIR/msys to $PACKAGE_DIR ..."
|
||||
mv $PACKAGE_DIR/msys/* $PACKAGE_DIR || exit 1
|
||||
rmdir $PACKAGE_DIR/msys || exit 1
|
||||
|
||||
|
||||
echo "Moving Ardour dll's and executable to $PACKAGE_DIR ..."
|
||||
|
||||
echo "mv $PACKAGE_DIR/lib/ardour3/*.dll $PACKAGE_DIR"
|
||||
echo "mv $PACKAGE_DIR/lib/ardour3/*.exe $PACKAGE_DIR"
|
||||
|
||||
mv $PACKAGE_DIR/lib/ardour3/*.dll $PACKAGE_DIR || exit 1
|
||||
mv $PACKAGE_DIR/lib/ardour3/*.exe $PACKAGE_DIR || exit 1
|
||||
|
||||
echo "Deleting import libs ..."
|
||||
|
||||
rm $PACKAGE_DIR/lib/*dll.a || exit 1
|
||||
|
||||
# delete sh script
|
||||
rm $PACKAGE_DIR/ardour3 || exit 1
|
||||
|
||||
if test x$WITH_TESTS != x ; then
|
||||
echo "Copying tests and test data to $PACKAGE_DIR ..."
|
||||
cp $BUILD_DIR/libs/pbd/run-tests.exe $PACKAGE_DIR/pbd-run-tests.exe || exit 1
|
||||
cp -r $BASE/libs/pbd/test $PACKAGE_DIR/pbd_testdata || exit 1
|
||||
|
||||
cp $BUILD_DIR/libs/evoral/run-tests.exe $PACKAGE_DIR/evoral-run-tests.exe || exit 1
|
||||
mkdir -p $PACKAGE_DIR/test/testdata || exit 1
|
||||
cp -r $BASE/libs/evoral/test/testdata/TakeFive.mid $PACKAGE_DIR/test/testdata || exit 1
|
||||
|
||||
cp -r $BASE/libs/ardour/test/data $PACKAGE_DIR/ardour_testdata || exit 1
|
||||
fi
|
||||
|
||||
echo "Copying mingw config files to $PACKAGE_DIR ..."
|
||||
# just copy it all for now
|
||||
cp -r $MINGW_ROOT/etc $PACKAGE_DIR || exit 1
|
||||
|
||||
cp -r $GTK/lib/gtk-2.0 $PACKAGE_DIR/lib || exit 1
|
||||
cp -r $GTK/lib/gdk-pixbuf-2.0 $PACKAGE_DIR/lib || exit 1
|
||||
cp $TOOLS_DIR/loaders.cache $PACKAGE_DIR/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache || exit 1
|
||||
|
||||
mkdir -p $PACKAGE_DIR/lib/pango/1.6.0/modules || exit 1
|
||||
cp -r $GTK/lib/pango/1.6.0/modules/*.dll $PACKAGE_DIR/lib/pango/1.6.0/modules || exit 1
|
||||
|
||||
cp -r $TOOLS_DIR/mingw64/* $PACKAGE_DIR/etc || exit 1
|
||||
|
||||
echo "Copying mingw shared libraries to $PACKAGE_DIR ..."
|
||||
|
||||
for i in $DLLS;
|
||||
do
|
||||
copydll "$i" "$PACKAGE_DIR" || exit 1
|
||||
done
|
||||
|
||||
echo "Copying JACK server and drivers to $PACKAGE_DIR ..."
|
||||
|
||||
# VK: -- FIXIT cp $MINGW_ROOT/bin/jackd.exe $PACKAGE_DIR || exit 1
|
||||
# VK: -- FIXIT cp -r $MINGW_ROOT/bin/jack $PACKAGE_DIR || exit 1
|
||||
# VK: -- FIXIT cp $MINGW_ROOT/bin/libportaudio-2.dll $PACKAGE_DIR || exit 1
|
||||
|
||||
SRC_DIRS='
|
||||
libs/ardour
|
||||
libs/pbd
|
||||
libs/gtkmm2ext
|
||||
libs/midi++2
|
||||
libs/evoral
|
||||
libs/panners
|
||||
libs/timecode
|
||||
libs/audiographer
|
||||
'
|
||||
|
||||
if test x$DEBUG != x ; then
|
||||
|
||||
PACKAGE_SRC_DIR=$PACKAGE_DIR/src
|
||||
echo "Copying source files to $PACKAGE_SRC_DIR ..."
|
||||
mkdir -p $PACKAGE_SRC_DIR/libs || exit 1
|
||||
cp -r $BASE/gtk2_ardour $PACKAGE_SRC_DIR || exit 1
|
||||
for i in $SRC_DIRS;
|
||||
do
|
||||
cp -r -p $BASE/$i $PACKAGE_SRC_DIR/libs || exit 1
|
||||
done
|
||||
|
||||
echo "Copying JACK utility programs to $PACKAGE_DIR ..."
|
||||
# VK: -- FIXIT cp $MINGW_ROOT/bin/jack_*.exe $PACKAGE_DIR || exit 1
|
||||
|
||||
echo "Copying any debug files to $PACKAGE_DIR ..."
|
||||
# VK: -- FIXIT cp $MINGW_ROOT/bin/*.debug $PACKAGE_DIR || exit 1
|
||||
|
||||
echo "Copying gdb to $PACKAGE_DIR ..."
|
||||
cp $MINGW_ROOT/bin/gdb.exe $PACKAGE_DIR || exit 1
|
||||
|
||||
echo "Copying .gdbinit to $PACKAGE_DIR ..."
|
||||
cp $TOOLS_DIR/gdbinit $PACKAGE_DIR/.gdbinit || exit 1
|
||||
|
||||
echo "Copying Gtk demo to $PACKAGE_DIR ..."
|
||||
cp $GTK/bin/gtk-demo.exe $PACKAGE_DIR || exit 1
|
||||
else
|
||||
echo "Optimized build Stripping executable ..."
|
||||
$STRIP $PACKAGE_DIR/ardour-3.0.exe || exit 1
|
||||
echo "Stripping libraries ..." || exit 1
|
||||
find $PACKAGE_DIR -type f -name "*.dll*" | xargs $STRIP
|
||||
fi
|
||||
|
||||
if [ "$1" == "--tarball" ]; then
|
||||
echo "Creating tarball from $PACKAGE_DIR ..."
|
||||
cd $BASE || exit 1
|
||||
tar -cvJf $PACKAGE_DIR.tar.xz $PACKAGE_DIR || exit 1
|
||||
fi
|
||||
|
||||
if [ "$1" == "--zip" ]; then
|
||||
echo "Creating zip file from $PACKAGE_DIR ..."
|
||||
cd $BASE || exit 1
|
||||
zip -r $PACKAGE_DIR.zip $PACKAGE_DIR || exit 1
|
||||
fi
|
|
@ -1,4 +0,0 @@
|
|||
#!/bin/bash
|
||||
. mingw-env.sh
|
||||
|
||||
qemu-kvm -smp 2 -m 1536 -hda $VIRT_IMAGE_PATH -net nic -net user -vga std -soundhw all
|
|
@ -0,0 +1,54 @@
|
|||
#!/bin/bash
|
||||
|
||||
BASE=$(readlink -f $0)
|
||||
BASE=$(dirname $BASE) # up one
|
||||
BASE=$(dirname $BASE) # up one more
|
||||
BASE=$(dirname $BASE) # up one more
|
||||
|
||||
HOST=x86_64-w64-mingw32
|
||||
MINGW_ROOT=/mingw
|
||||
GTK=$HOME/gtk/inst
|
||||
A3=$HOME/A3/inst
|
||||
|
||||
export PKG_CONFIG_PREFIX=$MINGW_ROOT
|
||||
export PKG_CONFIG_LIBDIR=$MINGW_ROOT/lib/pkgconfig
|
||||
export PKGCONFIG=pkg-config
|
||||
export AR=ar
|
||||
export RANLIB=ranlib
|
||||
export CC=gcc
|
||||
export CPP=g++
|
||||
export CXX=g++
|
||||
export AS=as
|
||||
export LINK_CC=gcc
|
||||
export LINK_CXX=g++
|
||||
export WINRC=windres
|
||||
export STRIP=strip
|
||||
|
||||
BUILD_DIR=$BASE/build
|
||||
BUILD_CACHE_FILE=$BUILD_DIR/c4che/_cache.py
|
||||
TOOLS_DIR=$BASE/tools/windows_packaging
|
||||
|
||||
. ../define_versions.sh
|
||||
|
||||
APPNAME=`grep -m 1 '^APPNAME' $BASE/wscript | awk '{print $3}' | sed "s/'//g"`
|
||||
|
||||
# These are only relevant after a build
|
||||
if test -f $BUILD_CACHE_FILE
|
||||
then
|
||||
# Figure out the Build Type
|
||||
if grep -q "DEBUG = True" $BUILD_CACHE_FILE; then
|
||||
DEBUG=1
|
||||
PACKAGE_DIR="$HOME/$APPNAME-win32-dbg"
|
||||
else
|
||||
PACKAGE_DIR="$HOME/$APPNAME-win32"
|
||||
fi
|
||||
|
||||
if grep -q "BUILD_TESTS = True" $BUILD_CACHE_FILE; then
|
||||
WITH_TESTS=1
|
||||
fi
|
||||
|
||||
ARDOUR_DATA_DIR=$PACKAGE_DIR/msys/share/ardour3
|
||||
fi
|
||||
|
||||
# put this somewhere better...
|
||||
VIRT_IMAGE_PATH=$HOME/Data/virt-images/winxp.raw
|
|
@ -0,0 +1,29 @@
|
|||
#!/bin/bash
|
||||
|
||||
. ./wine-env.sh
|
||||
|
||||
if [ "$1" == "--list" ]; then
|
||||
TESTS='test_*'
|
||||
for test_program in `find -name "$TESTS" -type f -perm /u+x`;
|
||||
do
|
||||
echo "$test_program"
|
||||
done
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ "$1" == "--single" ] || [ "$2" == "--single" ]; then
|
||||
if [ "$1" == "--single" ]; then
|
||||
TESTS="test_*$2*"
|
||||
elif [ "$2" == "--single" ]; then
|
||||
TESTS="test_*$3*"
|
||||
else
|
||||
TESTS='test_*'
|
||||
fi
|
||||
for test_program in `find . -name "$TESTS" -type f -perm /u+x`;
|
||||
do
|
||||
echo "Running $test_program..."
|
||||
wine "$test_program"
|
||||
done
|
||||
else
|
||||
wine run-tests.exe
|
||||
fi
|
|
@ -0,0 +1,5 @@
|
|||
#!/bin/bash
|
||||
|
||||
. ./wine-env.sh
|
||||
|
||||
wine ardour-3.3.exe
|
|
@ -4,6 +4,11 @@
|
|||
|
||||
cd $BASE
|
||||
|
||||
if test ! -d $PACKAGE_DIR; then
|
||||
echo "Win32 package directory does not exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LIBS=$BUILD_DIR/libs
|
||||
|
||||
export ARDOUR_PATH=$BASE/gtk2_ardour/icons:$BASE/gtk2_ardour/pixmaps:$BASE/build/default/gtk2_ardour:$BASE/gtk2_ardour:.
|
||||
|
@ -15,25 +20,4 @@ export VAMP_PATH=$LIBS/vamp-plugins${VAMP_PATH:+:$VAMP_PATH}
|
|||
|
||||
export PBD_TEST_PATH=$BASE/libs/pbd/test/
|
||||
|
||||
if test ! -d $PACKAGE_DIR; then
|
||||
echo "Win32 package directory does not exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd $PACKAGE_DIR
|
||||
|
||||
|
||||
if [ "$1" == "--run-tests" ]; then
|
||||
if test x$WITH_TESTS != x ; then
|
||||
echo "<<<<<<<<<<<<<<<<<< RUNNING LIBPBD TESTS >>>>>>>>>>>>>>>>>>>"
|
||||
wine pbd-run-tests.exe
|
||||
echo "<<<<<<<<<<<<<<<<<< RUNNING EVORAL TESTS >>>>>>>>>>>>>>>>>>>"
|
||||
wine evoral-run-tests.exe
|
||||
echo "<<<<<<<<<<<<<<<<<< RUNNING ARDOUR TESTS >>>>>>>>>>>>>>>>>>>"
|
||||
wine ardour-run-tests.exe
|
||||
else
|
||||
echo "No tests to run ..."
|
||||
fi
|
||||
else
|
||||
wine ardour-3.0.exe
|
||||
fi
|
||||
cd $PACKAGE_DIR
|
|
@ -0,0 +1,5 @@
|
|||
#!/bin/bash
|
||||
|
||||
. ./wine-env.sh
|
||||
|
||||
wine evoral-run-tests.exe
|
|
@ -0,0 +1,5 @@
|
|||
#!/bin/bash
|
||||
|
||||
. ./wine-env.sh
|
||||
|
||||
wine pbd-run-tests.exe
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue