mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-07 15:25:01 +01:00
finished merge of cairocanvas with windows and windows+cc branches
This commit is contained in:
commit
658bb3ccd4
101 changed files with 4097 additions and 237 deletions
|
|
@ -759,7 +759,7 @@ ARDOUR_UI::starting ()
|
||||||
nsm->check ();
|
nsm->check ();
|
||||||
|
|
||||||
Glib::usleep (i);
|
Glib::usleep (i);
|
||||||
if (nsm->is_active())
|
if (nsm->is_active()) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -770,9 +770,8 @@ ARDOUR_UI::starting ()
|
||||||
// wait for open command from nsm server
|
// wait for open command from nsm server
|
||||||
for ( i = 0; i < 5000; ++i) {
|
for ( i = 0; i < 5000; ++i) {
|
||||||
nsm->check ();
|
nsm->check ();
|
||||||
|
|
||||||
Glib::usleep (1000);
|
Glib::usleep (1000);
|
||||||
if (nsm->client_id ())
|
if (nsm->client_id ()) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,13 +19,9 @@
|
||||||
|
|
||||||
#ifdef COMPILER_MSVC
|
#ifdef COMPILER_MSVC
|
||||||
#include <float.h>
|
#include <float.h>
|
||||||
|
/* isinf() & isnan() are C99 standards, which older MSVC doesn't provide */
|
||||||
// 'std::isinf()' and 'std::isnan()' are not available in MSVC.
|
|
||||||
#define isinf(val) !((bool)_finite((double)val))
|
#define isinf(val) !((bool)_finite((double)val))
|
||||||
#define isnan(val) (bool)_isnan((double)val)
|
#define isnan(val) (bool)_isnan((double)val)
|
||||||
#else
|
|
||||||
using std::isnan;
|
|
||||||
using std::isinf;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <cmath>
|
#include <cmath>
|
||||||
|
|
|
||||||
|
|
@ -93,7 +93,7 @@ ExportRangeMarkersDialog::process_range_markers_export(Locations::LocationList&
|
||||||
if(gtk_events_pending()){
|
if(gtk_events_pending()){
|
||||||
gtk_main_iteration();
|
gtk_main_iteration();
|
||||||
}else {
|
}else {
|
||||||
usleep(10000);
|
Glib::usleep(10000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,7 @@
|
||||||
#include <pthread.h>
|
#include <pthread.h>
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#include <glib.h>
|
#include <glib.h>
|
||||||
|
#include <glibmm/timer.h>
|
||||||
|
|
||||||
#include "ardour/linux_vst_support.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.. */
|
/*We don't want to use all the CPU.. */
|
||||||
|
|
||||||
usleep(1000);
|
Glib::usleep(1000);
|
||||||
|
|
||||||
LXVST_sched_event_timer++;
|
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
|
/*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 */
|
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*/
|
/*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)) {
|
while (!(_vst->state()->been_activated)) {
|
||||||
usleep (1000);
|
Glib::usleep (1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
int const id = _vst->state()->xid;
|
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, "VAMP_PATH", "/lib");
|
||||||
export_search_path (bundle_dir, "GTK_PATH", "/lib/gtkengines");
|
export_search_path (bundle_dir, "GTK_PATH", "/lib/gtkengines");
|
||||||
|
|
||||||
setenv ("SUIL_MODULE_DIR", (bundle_dir + "/lib").c_str(), 1);
|
g_setenv ("SUIL_MODULE_DIR", (bundle_dir + "/lib").c_str(), 1);
|
||||||
setenv ("PATH", (bundle_dir + "/MacOS:" + std::string(getenv ("PATH"))).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
|
/* 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, "VAMP_PATH", "/lib");
|
||||||
export_search_path (dir_path, "GTK_PATH", "/lib/gtkengines");
|
export_search_path (dir_path, "GTK_PATH", "/lib/gtkengines");
|
||||||
|
|
||||||
setenv ("SUIL_MODULE_DIR", (dir_path + "/lib").c_str(), 1);
|
g_setenv ("SUIL_MODULE_DIR", (dir_path + "/lib").c_str(), 1);
|
||||||
setenv ("PATH", (dir_path + "/bin:" + std::string(getenv ("PATH"))).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
|
/* unset GTK_RC_FILES so that we only load the RC files that we define
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -20,13 +20,9 @@
|
||||||
|
|
||||||
#ifdef COMPILER_MSVC
|
#ifdef COMPILER_MSVC
|
||||||
#include <float.h>
|
#include <float.h>
|
||||||
|
/* isinf() & isnan() are C99 standards, which older MSVC doesn't provide */
|
||||||
// 'std::isinf()' and 'std::isnan()' are not available in MSVC.
|
|
||||||
#define isinf(val) !((bool)_finite((double)val))
|
#define isinf(val) !((bool)_finite((double)val))
|
||||||
#define isnan(val) (bool)_isnan((double)val)
|
#define isnan(val) (bool)_isnan((double)val)
|
||||||
#else
|
|
||||||
using std::isnan;
|
|
||||||
using std::isinf;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "plugin_eq_gui.h"
|
#include "plugin_eq_gui.h"
|
||||||
|
|
|
||||||
|
|
@ -540,7 +540,7 @@ SystemExec::terminate ()
|
||||||
|
|
||||||
if (pid) {
|
if (pid) {
|
||||||
::kill(pid, SIGTERM);
|
::kill(pid, SIGTERM);
|
||||||
::usleep(50000);
|
usleep(50000);
|
||||||
sched_yield();
|
sched_yield();
|
||||||
wait(WNOHANG);
|
wait(WNOHANG);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,15 @@
|
||||||
#define STDERR_FILENO 2
|
#define STDERR_FILENO 2
|
||||||
#endif
|
#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 <string>
|
||||||
#include <pthread.h>
|
#include <pthread.h>
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
|
|
|
||||||
|
|
@ -325,7 +325,7 @@ extern "C" {
|
||||||
struct A3MemoryStruct chunk;
|
struct A3MemoryStruct chunk;
|
||||||
long int httpstatus;
|
long int httpstatus;
|
||||||
if (status) *status = 0;
|
if (status) *status = 0;
|
||||||
//usleep(500000); return NULL; // TEST & DEBUG
|
//Glib::usleep(500000); return NULL; // TEST & DEBUG
|
||||||
if (strncmp("http://", u, 7)) return NULL;
|
if (strncmp("http://", u, 7)) return NULL;
|
||||||
|
|
||||||
chunk.data=NULL;
|
chunk.data=NULL;
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ from waflib.extras import autowaf as autowaf
|
||||||
from waflib import Options, TaskGen
|
from waflib import Options, TaskGen
|
||||||
import waflib.Logs as Logs, waflib.Utils as Utils
|
import waflib.Logs as Logs, waflib.Utils as Utils
|
||||||
import os
|
import os
|
||||||
|
import shutil
|
||||||
import sys
|
import sys
|
||||||
import re
|
import re
|
||||||
import time
|
import time
|
||||||
|
|
@ -630,7 +631,7 @@ def build(bld):
|
||||||
obj.install_path = None
|
obj.install_path = None
|
||||||
set_subst_dict(obj, light_rc_subst_dict)
|
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.source = [ 'ardour3_widget_list.rc' ]
|
||||||
obj.target = 'ardour3_widgets.rc'
|
obj.target = 'ardour3_widgets.rc'
|
||||||
obj.install_path = None
|
obj.install_path = None
|
||||||
|
|
@ -672,11 +673,15 @@ def build(bld):
|
||||||
# 'SAE-de-keypad', 'SAE-de-nokeypad', 'SAE-us-keypad',
|
# 'SAE-de-keypad', 'SAE-de-nokeypad', 'SAE-us-keypad',
|
||||||
# 'SAE-us-nokeypad', 'ergonomic-us'
|
# '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' ] :
|
for b in [ 'mnemonic-us' ] :
|
||||||
obj = bld(
|
obj = bld(
|
||||||
target = b + '.bindings',
|
target = b + '.bindings',
|
||||||
source = b + '.bindings.in',
|
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')
|
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 SnapBBT;
|
||||||
LIBARDOUR_API extern uint64_t Configuration;
|
LIBARDOUR_API extern uint64_t Configuration;
|
||||||
LIBARDOUR_API extern uint64_t Latency;
|
LIBARDOUR_API extern uint64_t Latency;
|
||||||
|
LIBARDOUR_API extern uint64_t Peaks;
|
||||||
LIBARDOUR_API extern uint64_t Processors;
|
LIBARDOUR_API extern uint64_t Processors;
|
||||||
LIBARDOUR_API extern uint64_t ProcessThreads;
|
LIBARDOUR_API extern uint64_t ProcessThreads;
|
||||||
LIBARDOUR_API extern uint64_t Graph;
|
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 old_sound_dir_name;
|
||||||
LIBARDOUR_API extern const char* const 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_dir_name;
|
||||||
LIBARDOUR_API extern const char* const midi_patch_dir_name;
|
LIBARDOUR_API extern const char* const midi_patch_dir_name;
|
||||||
LIBARDOUR_API extern const char* const video_dir_name;
|
LIBARDOUR_API extern const char* const video_dir_name;
|
||||||
|
|
|
||||||
|
|
@ -109,7 +109,7 @@ public:
|
||||||
|
|
||||||
boost::shared_ptr<Region> region;
|
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)
|
: type (t)
|
||||||
, action (a)
|
, action (a)
|
||||||
, action_frame (when)
|
, action_frame (when)
|
||||||
|
|
@ -151,7 +151,7 @@ private:
|
||||||
friend class Butler;
|
friend class Butler;
|
||||||
};
|
};
|
||||||
|
|
||||||
class LIBARDOUR_API SessionEventManager {
|
class SessionEventManager {
|
||||||
public:
|
public:
|
||||||
SessionEventManager () : pending_events (2048),
|
SessionEventManager () : pending_events (2048),
|
||||||
auto_loop_event(0), punch_out_event(0), punch_in_event(0) {}
|
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
|
void
|
||||||
AudioBuffer::silence (framecnt_t len, framecnt_t offset) {
|
AudioBuffer::silence (framecnt_t len, framecnt_t offset) {
|
||||||
pframes_t n = 0;
|
|
||||||
if (!_silent) {
|
if (!_silent) {
|
||||||
assert(_capacity > 0);
|
assert(_capacity > 0);
|
||||||
assert(offset + len <= _capacity);
|
assert(offset + len <= _capacity);
|
||||||
|
|
|
||||||
|
|
@ -1789,7 +1789,7 @@ AudioDiskstream::get_state ()
|
||||||
LocaleGuard lg (X_("POSIX"));
|
LocaleGuard lg (X_("POSIX"));
|
||||||
|
|
||||||
boost::shared_ptr<ChannelList> c = channels.reader();
|
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);
|
node.add_property ("channels", buf);
|
||||||
|
|
||||||
if (!capturing_sources.empty() && _session.get_record_enabled()) {
|
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());
|
std::vector<char> buf (AudioEngine::instance()->port_name_size());
|
||||||
PortSet::iterator i = _ports.begin();
|
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) {
|
for ( ; i != _ports.end(); ++i) {
|
||||||
if (string(i->name()) == string(&buf[0])) {
|
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
|
to use a timestamp indicating when this MTC time was received. example: when we received
|
||||||
a locate command via MMC.
|
a locate command via MMC.
|
||||||
*/
|
*/
|
||||||
#ifdef COMPILER_MSVC
|
DEBUG_TRACE (DEBUG::MTC, string_compose ("MTC::update_mtc_time - TID:%1\n", pthread_name()));
|
||||||
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
|
|
||||||
TimecodeFormat tc_format;
|
TimecodeFormat tc_format;
|
||||||
bool reset_tc = true;
|
bool reset_tc = true;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -35,14 +35,11 @@ Searchpath
|
||||||
panner_search_path ()
|
panner_search_path ()
|
||||||
{
|
{
|
||||||
Searchpath spath(user_config_directory ());
|
Searchpath spath(user_config_directory ());
|
||||||
|
|
||||||
spath += ardour_dll_directory ();
|
spath += ardour_dll_directory ();
|
||||||
spath.add_subdirectory_to_paths(panner_dir_name);
|
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));
|
spath += Searchpath(Glib::getenv(panner_env_variable_name));
|
||||||
>>>>>>> windows+cc
|
|
||||||
return spath;
|
return spath;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -136,14 +136,7 @@ Session::pre_engine_init (string fullpath)
|
||||||
|
|
||||||
/* discover canonical fullpath */
|
/* discover canonical fullpath */
|
||||||
|
|
||||||
char buf[PATH_MAX+1];
|
_path = canonical_path(fullpath);
|
||||||
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);
|
|
||||||
|
|
||||||
/* we require _path to end with a dir separator */
|
/* we require _path to end with a dir separator */
|
||||||
|
|
||||||
|
|
|
||||||
53
libs/ardour/test/audio_engine_test.cc
Normal file
53
libs/ardour/test/audio_engine_test.cc
Normal file
|
|
@ -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
|
||||||
|
}
|
||||||
14
libs/ardour/test/audio_engine_test.h
Normal file
14
libs/ardour/test/audio_engine_test.h
Normal file
|
|
@ -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',
|
autowaf.check_pkg(conf, 'sigc++-2.0', uselib_store='SIGCPP',
|
||||||
atleast_version='2.0')
|
atleast_version='2.0')
|
||||||
|
|
||||||
if re.search ("linux", sys.platform) != None:
|
|
||||||
autowaf.check_pkg(conf, 'alsa', uselib_store='ALSA')
|
|
||||||
|
|
||||||
if Options.options.lv2:
|
if Options.options.lv2:
|
||||||
autowaf.check_pkg(conf, 'lv2', uselib_store='LV2',
|
autowaf.check_pkg(conf, 'lv2', uselib_store='LV2',
|
||||||
atleast_version='1.0.0', mandatory=True)
|
atleast_version='1.0.0', mandatory=True)
|
||||||
|
|
@ -445,6 +442,7 @@ def build(bld):
|
||||||
testcommon.source += [ 'sse_functions_64bit.s' ]
|
testcommon.source += [ 'sse_functions_64bit.s' ]
|
||||||
|
|
||||||
if bld.env['SINGLE_TESTS']:
|
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, '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, 'bbt', 'test_bbt', ['test/bbt_test.cc'])
|
||||||
create_ardour_test_program(bld, obj.includes, 'tempo', 'test_tempo', ['test/tempo_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'])
|
create_ardour_test_program(bld, obj.includes, 'session_test', 'test_session', ['test/session_test.cc'])
|
||||||
|
|
||||||
test_sources = '''
|
test_sources = '''
|
||||||
|
test/audio_engine_test.cc
|
||||||
test/automation_list_property_test.cc
|
test/automation_list_property_test.cc
|
||||||
test/bbt_test.cc
|
test/bbt_test.cc
|
||||||
test/tempo_test.cc
|
test/tempo_test.cc
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,8 @@
|
||||||
#include <boost/scoped_ptr.hpp>
|
#include <boost/scoped_ptr.hpp>
|
||||||
#include <jack/session.h>
|
#include <jack/session.h>
|
||||||
|
|
||||||
|
#include <glibmm/timer.h>
|
||||||
|
|
||||||
#include "pbd/epa.h"
|
#include "pbd/epa.h"
|
||||||
|
|
||||||
#include "jack_connection.h"
|
#include "jack_connection.h"
|
||||||
|
|
@ -145,7 +147,7 @@ JackConnection::close ()
|
||||||
_jack = 0;
|
_jack = 0;
|
||||||
|
|
||||||
/* If we started JACK, it will be closing down */
|
/* If we started JACK, it will be closing down */
|
||||||
usleep (500000);
|
Glib::usleep (500000);
|
||||||
|
|
||||||
Disconnected (""); /* EMIT SIGNAL */
|
Disconnected (""); /* EMIT SIGNAL */
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,8 @@
|
||||||
#include <jack/jack.h>
|
#include <jack/jack.h>
|
||||||
#include <jack/transport.h>
|
#include <jack/transport.h>
|
||||||
|
|
||||||
|
#include "pbd/localtime_r.h"
|
||||||
|
|
||||||
#include "ardour/audioengine.h"
|
#include "ardour/audioengine.h"
|
||||||
#include "ardour/filename_extensions.h"
|
#include "ardour/filename_extensions.h"
|
||||||
#include "ardour/session.h"
|
#include "ardour/session.h"
|
||||||
|
|
|
||||||
|
|
@ -891,11 +891,7 @@ ARDOUR::get_jack_command_line_string (JackCommandLineOptions& options, string& c
|
||||||
ostringstream oss;
|
ostringstream oss;
|
||||||
|
|
||||||
for (vector<string>::const_iterator i = args.begin(); i != args.end();) {
|
for (vector<string>::const_iterator i = args.begin(); i != args.end();) {
|
||||||
#ifdef WIN32
|
|
||||||
oss << quote_string (*i);
|
|
||||||
#else
|
|
||||||
oss << *i;
|
oss << *i;
|
||||||
#endif
|
|
||||||
if (++i != args.end()) oss << ' ';
|
if (++i != args.end()) oss << ' ';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,8 @@ def options(opt):
|
||||||
autowaf.set_options(opt)
|
autowaf.set_options(opt)
|
||||||
|
|
||||||
def configure(conf):
|
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.
|
# 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
|
# We should find a better way to do this that doesn't involve this
|
||||||
|
|
@ -43,7 +45,7 @@ def build(bld):
|
||||||
obj.includes = ['.']
|
obj.includes = ['.']
|
||||||
obj.name = 'jack_audiobackend'
|
obj.name = 'jack_audiobackend'
|
||||||
obj.target = 'jack_audiobackend'
|
obj.target = 'jack_audiobackend'
|
||||||
if Options.options.dist_target == 'mingw':
|
if (bld.env['build_target'] == 'mingw'):
|
||||||
obj.uselib = [ 'JACK', 'PORTAUDIO' ]
|
obj.uselib = [ 'JACK', 'PORTAUDIO' ]
|
||||||
else:
|
else:
|
||||||
obj.uselib = [ 'JACK' ]
|
obj.uselib = [ 'JACK' ]
|
||||||
|
|
|
||||||
|
|
@ -87,7 +87,7 @@ def build(bld):
|
||||||
if bld.is_defined ('INTERNAL_SHARED_LIBS'):
|
if bld.is_defined ('INTERNAL_SHARED_LIBS'):
|
||||||
obj = bld.shlib(features = 'c cxx cshlib cxxshlib', source=gtkmm2ext_sources)
|
obj = bld.shlib(features = 'c cxx cshlib cxxshlib', source=gtkmm2ext_sources)
|
||||||
# defines for this library
|
# defines for this library
|
||||||
obj.defines = [ 'LIBGTKMM2EXT_DLL_EXPORTS=1' ]
|
obj.defines = [ 'LIBGTKMM2EXT_DLL_EXPORTS', 'ABSTRACT_UI_EXPORTS' ]
|
||||||
obj.cxxflags = [ '-fvisibility=hidden' ]
|
obj.cxxflags = [ '-fvisibility=hidden' ]
|
||||||
obj.cflags = [ '-fvisibility=hidden' ]
|
obj.cflags = [ '-fvisibility=hidden' ]
|
||||||
else:
|
else:
|
||||||
|
|
|
||||||
|
|
@ -39,11 +39,14 @@ FPU::FPU ()
|
||||||
|
|
||||||
_flags = Flags (0);
|
_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
|
#if !( (defined __x86_64__) || (defined __i386__) ) // !ARCH_X86
|
||||||
return;
|
return;
|
||||||
#else
|
#else
|
||||||
|
|
||||||
|
|
||||||
#ifndef _LP64 //USE_X86_64_ASM
|
#ifndef _LP64 //USE_X86_64_ASM
|
||||||
asm volatile (
|
asm volatile (
|
||||||
"mov $1, %%eax\n"
|
"mov $1, %%eax\n"
|
||||||
|
|
|
||||||
|
|
@ -33,12 +33,57 @@
|
||||||
using std::string;
|
using std::string;
|
||||||
using std::vector;
|
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
|
string
|
||||||
PBD::canonical_path (const std::string& path)
|
PBD::canonical_path (const std::string& path)
|
||||||
{
|
{
|
||||||
#ifdef COMPILER_MINGW
|
|
||||||
return path;
|
|
||||||
#else
|
|
||||||
char buf[PATH_MAX+1];
|
char buf[PATH_MAX+1];
|
||||||
|
|
||||||
if (!realpath (path.c_str(), buf) && (errno != ENOENT)) {
|
if (!realpath (path.c_str(), buf) && (errno != ENOENT)) {
|
||||||
|
|
@ -46,7 +91,6 @@ PBD::canonical_path (const std::string& path)
|
||||||
}
|
}
|
||||||
|
|
||||||
return string (buf);
|
return string (buf);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
string
|
string
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,7 @@
|
||||||
class Touchable;
|
class Touchable;
|
||||||
|
|
||||||
template<typename RequestObject>
|
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:
|
public:
|
||||||
AbstractUI (const std::string& name);
|
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;
|
typedef typename RequestBuffer::rw_vector RequestBufferVector;
|
||||||
|
|
||||||
#if defined(__MINGW32__)
|
#if defined(__MINGW32__) && !defined (__MINGW64__)
|
||||||
|
|
||||||
struct pthread_cmp
|
struct pthread_cmp
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,79 @@ def build(bld):
|
||||||
if bld.is_defined('USE_EXTERNAL_LIBS'):
|
if bld.is_defined('USE_EXTERNAL_LIBS'):
|
||||||
return
|
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
|
# Library
|
||||||
obj = bld(features = 'cxx cxxshlib')
|
obj = bld(features = 'cxx cxxshlib')
|
||||||
sources = bld.path.ant_glob('taglib/*.cpp')
|
sources = bld.path.ant_glob('taglib/*.cpp')
|
||||||
|
|
@ -69,7 +142,7 @@ def build(bld):
|
||||||
taglib/ogg/speex
|
taglib/ogg/speex
|
||||||
taglib/ogg/flac
|
taglib/ogg/flac
|
||||||
'''.split()
|
'''.split()
|
||||||
obj.export_includes = ['.', 'taglib', 'taglib/toolkit']
|
obj.export_includes = ['.', 'taglib' ]
|
||||||
obj.includes = include_dirs
|
obj.includes = include_dirs
|
||||||
obj.defines = ['MAKE_TAGLIB_LIB']
|
obj.defines = ['MAKE_TAGLIB_LIB']
|
||||||
obj.name = 'libtaglib'
|
obj.name = 'libtaglib'
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ import glob
|
||||||
import os
|
import os
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
|
import shutil
|
||||||
|
|
||||||
from waflib import Configure, Context, Logs, Node, Options, Task, Utils
|
from waflib import Configure, Context, Logs, Node, Options, Task, Utils
|
||||||
from waflib.TaskGen import feature, before, after
|
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]")
|
help="LV2 bundles [Default: LIBDIR/lv2]")
|
||||||
g_step = 1
|
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):
|
def check_header(conf, lang, name, define='', mandatory=True):
|
||||||
"Check for a header"
|
"Check for a header"
|
||||||
includes = '' # search default system include paths
|
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
|
Building Ardour for Windows
|
||||||
|
|
||||||
The windows build is compiled and tested with the MinGW compiler that is
|
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
|
packaged in Fedora, Currently using Fedora 19. There are many cross compiled
|
||||||
"mingw" libraries that Ardour requires that are also available on Fedora but
|
"mingw" libraries that Ardour requires that are available on Fedora but
|
||||||
not all are yet.
|
not all are yet.
|
||||||
|
|
||||||
|
|
||||||
Prerequisites
|
Prerequisites
|
||||||
|
|
||||||
Follow instructions in Fedora-16.txt to build and/or install the required
|
For setting up the required packages to build Ardour refer to the README
|
||||||
packages.
|
file located at https://github.com/mojofunk/fedora-mingw-ardour
|
||||||
|
|
||||||
|
|
||||||
Configuring
|
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
|
environment variables and then call waf with a specific set of parameters
|
||||||
that are appropriate to configure for the windows build.
|
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
|
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 the windows build but I felt it simpler to do it in the packaging script
|
||||||
for now.
|
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
|
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 from the host system into the packaging directory. The
|
||||||
shared libraries or dll's are placed in the same directory as the Ardour
|
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
|
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.
|
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
|
The cptovmshare.sh script will copy the package to a directory specified in the
|
||||||
Windows XP virt image and may need to be altered to be used successfully.
|
ARDOUR_VM_SHARE_DIR for testing in a virtual machine.
|
||||||
|
|
||||||
|
|
||||||
Testing
|
Testing
|
||||||
|
|
@ -82,6 +92,8 @@ Testing
|
||||||
When configured for debugging there are a number of test programs(prefixed with
|
When configured for debugging there are a number of test programs(prefixed with
|
||||||
test_) included in the package.
|
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
|
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
|
file to automatically set the source directory so that the "list" gdb command
|
||||||
will show the source code corresponding to the current stack frame.
|
will show the source code corresponding to the current stack frame.
|
||||||
|
|
||||||
Use break `Somenamespace::somepartialsymbolname + tab to list symbols, then remove
|
New versions of gdb will not load a .gdbinit file unless it is located in the directory
|
||||||
` to set break. If you press tab with when there are thousands of possible
|
set in the HOME environment variable and auto-load safe-path is set appropriately.
|
||||||
matching symbols be prepared to wait a long time(this can also cause gdb to use a
|
|
||||||
lot of memory).
|
|
||||||
|
|
||||||
For reasons I've yet to determine many symbols are not accessible so the best way
|
So the gdbinit_home file needs to be moved to directory set in %USERPROFILE% and
|
||||||
to set a breakpoint is by using filename and line number.
|
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
|
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
|
They are a number of glib debugging options see
|
||||||
|
|
||||||
|
|
|
||||||
12
tools/windows_packaging/configure-distcc-debug.sh
Executable file
12
tools/windows_packaging/configure-distcc-debug.sh
Executable file
|
|
@ -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 "$@"
|
||||||
12
tools/windows_packaging/configure-distcc-release.sh
Executable file
12
tools/windows_packaging/configure-distcc-release.sh
Executable file
|
|
@ -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
|
|
||||||
19
tools/windows_packaging/cptovmshare.sh
Executable file
19
tools/windows_packaging/cptovmshare.sh
Executable file
|
|
@ -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
|
||||||
4
tools/windows_packaging/gdb-ardour.bat
Normal file
4
tools/windows_packaging/gdb-ardour.bat
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
set HOME=%USERPROFILE%
|
||||||
|
echo "set home to %HOME%"
|
||||||
|
|
||||||
|
START gdb.exe ardour-3.3.exe
|
||||||
4
tools/windows_packaging/gdb.bat
Normal file
4
tools/windows_packaging/gdb.bat
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
set HOME=%USERPROFILE%
|
||||||
|
echo "set home to %HOME%"
|
||||||
|
|
||||||
|
START gdb.exe
|
||||||
1
tools/windows_packaging/gdbinit_home
Normal file
1
tools/windows_packaging/gdbinit_home
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
set auto-load safe-path /
|
||||||
|
|
@ -26,19 +26,18 @@ BUILD_DIR=$BASE/build
|
||||||
BUILD_CACHE_FILE=$BUILD_DIR/c4che/_cache.py
|
BUILD_CACHE_FILE=$BUILD_DIR/c4che/_cache.py
|
||||||
TOOLS_DIR=$BASE/tools/windows_packaging
|
TOOLS_DIR=$BASE/tools/windows_packaging
|
||||||
|
|
||||||
. ../define_versions.sh
|
|
||||||
|
|
||||||
APPNAME=`grep -m 1 '^APPNAME' $BASE/wscript | awk '{print $3}' | sed "s/'//g"`
|
APPNAME=`grep -m 1 '^APPNAME' $BASE/wscript | awk '{print $3}' | sed "s/'//g"`
|
||||||
|
|
||||||
# These are only relevant after a build
|
# These are only relevant after a build
|
||||||
if test -f $BUILD_CACHE_FILE
|
if test -f $BUILD_CACHE_FILE
|
||||||
then
|
then
|
||||||
|
. ../define_versions.sh
|
||||||
|
|
||||||
# Figure out the Build Type
|
# Figure out the Build Type
|
||||||
if grep -q "DEBUG = True" $BUILD_CACHE_FILE; then
|
if [ x$DEBUG = xT ]; then
|
||||||
DEBUG=1
|
PACKAGE_DIR="$APPNAME-${release_version}-win32-dbg"
|
||||||
PACKAGE_DIR="$APPNAME-${version}-win32-dbg"
|
|
||||||
else
|
else
|
||||||
PACKAGE_DIR="$APPNAME-${version}-win32"
|
PACKAGE_DIR="$APPNAME-${release_version}-win32"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if grep -q "BUILD_TESTS = True" $BUILD_CACHE_FILE; then
|
if grep -q "BUILD_TESTS = True" $BUILD_CACHE_FILE; then
|
||||||
|
|
@ -47,6 +46,3 @@ then
|
||||||
|
|
||||||
ARDOUR_DATA_DIR=$PACKAGE_DIR/share/ardour3
|
ARDOUR_DATA_DIR=$PACKAGE_DIR/share/ardour3
|
||||||
fi
|
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>
|
||||||
77
tools/windows_packaging/mingw64/fonts/conf.d/45-latin.conf
Normal file
77
tools/windows_packaging/mingw64/fonts/conf.d/45-latin.conf
Normal file
|
|
@ -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>
|
||||||
70
tools/windows_packaging/mingw64/fonts/conf.d/60-latin.conf
Normal file
70
tools/windows_packaging/mingw64/fonts/conf.d/60-latin.conf
Normal file
|
|
@ -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>
|
||||||
195
tools/windows_packaging/mingw64/fonts/conf.d/65-nonlatin.conf
Normal file
195
tools/windows_packaging/mingw64/fonts/conf.d/65-nonlatin.conf
Normal file
|
|
@ -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>
|
||||||
28
tools/windows_packaging/mingw64/fonts/conf.d/69-unifont.conf
Normal file
28
tools/windows_packaging/mingw64/fonts/conf.d/69-unifont.conf
Normal file
|
|
@ -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>
|
||||||
23
tools/windows_packaging/mingw64/fonts/conf.d/README
Normal file
23
tools/windows_packaging/mingw64/fonts/conf.d/README
Normal file
|
|
@ -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
|
||||||
151
tools/windows_packaging/mingw64/fonts/fonts.conf
Normal file
151
tools/windows_packaging/mingw64/fonts/fonts.conf
Normal file
|
|
@ -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>
|
||||||
224
tools/windows_packaging/mingw64/fonts/fonts.dtd
Normal file
224
tools/windows_packaging/mingw64/fonts/fonts.dtd
Normal file
|
|
@ -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;)>
|
||||||
39
tools/windows_packaging/mingw64/gtk-2.0/gtk.immodules
Normal file
39
tools/windows_packaging/mingw64/gtk-2.0/gtk.immodules
Normal file
|
|
@ -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"
|
||||||
|
|
||||||
22
tools/windows_packaging/mingw64/gtk-2.0/im-multipress.conf
Normal file
22
tools/windows_packaging/mingw64/gtk-2.0/im-multipress.conf
Normal file
|
|
@ -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
|
||||||
35
tools/windows_packaging/mingw64/pango/pango.modules
Normal file
35
tools/windows_packaging/mingw64/pango/pango.modules
Normal file
|
|
@ -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 -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/pango.modules $PACKAGE_DIR/etc/pango
|
||||||
|
|
||||||
|
cp $TOOLS_DIR/README $PACKAGE_DIR
|
||||||
|
|
||||||
DLLS='
|
DLLS='
|
||||||
jack-0.dll
|
jack-0.dll
|
||||||
jackserver-0.dll
|
jackserver-0.dll
|
||||||
|
|
@ -144,7 +146,7 @@ libs/timecode
|
||||||
libs/audiographer
|
libs/audiographer
|
||||||
'
|
'
|
||||||
|
|
||||||
if test x$DEBUG != x ; then
|
if [ x$DEBUG = xT ]; then
|
||||||
|
|
||||||
PACKAGE_SRC_DIR=$PACKAGE_DIR/src
|
PACKAGE_SRC_DIR=$PACKAGE_DIR/src
|
||||||
echo "Copying source files to $PACKAGE_SRC_DIR ..."
|
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 ..."
|
echo "Copying JACK utility programs to $PACKAGE_DIR ..."
|
||||||
cp $MINGW_ROOT/bin/jack_*.exe $PACKAGE_DIR
|
cp $MINGW_ROOT/bin/jack_*.exe $PACKAGE_DIR
|
||||||
|
|
||||||
echo "Copying any debug files to $PACKAGE_DIR ..."
|
#echo "Copying any debug files to $PACKAGE_DIR ..."
|
||||||
cp $MINGW_ROOT/bin/*.debug $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
|
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 $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 ..."
|
echo "Copying Gtk demo to $PACKAGE_DIR ..."
|
||||||
cp $MINGW_ROOT/bin/gtk-demo.exe $PACKAGE_DIR
|
cp $MINGW_ROOT/bin/gtk-demo.exe $PACKAGE_DIR
|
||||||
else
|
else
|
||||||
echo "Optimized build Stripping executable ..."
|
echo "Optimized build Stripping executable ..."
|
||||||
$STRIP $PACKAGE_DIR/ardour-3.0.exe
|
find $PACKAGE_DIR -type f -name "*.exe*" | xargs $STRIP
|
||||||
echo "Stripping libraries ..."
|
echo "Stripping libraries ..."
|
||||||
find $PACKAGE_DIR -type f -name "*.dll*" | xargs $STRIP
|
find $PACKAGE_DIR -type f -name "*.dll*" | xargs $STRIP
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
242
tools/windows_packaging/package_win32.sh
Executable file
242
tools/windows_packaging/package_win32.sh
Executable file
|
|
@ -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
|
|
||||||
54
tools/windows_packaging/win32-env.sh
Executable file
54
tools/windows_packaging/win32-env.sh
Executable file
|
|
@ -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
|
||||||
29
tools/windows_packaging/wine-ardour-tests.sh
Executable file
29
tools/windows_packaging/wine-ardour-tests.sh
Executable file
|
|
@ -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
|
||||||
5
tools/windows_packaging/wine-ardour.sh
Executable file
5
tools/windows_packaging/wine-ardour.sh
Executable file
|
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
. ./wine-env.sh
|
||||||
|
|
||||||
|
wine ardour-3.3.exe
|
||||||
|
|
@ -4,6 +4,11 @@
|
||||||
|
|
||||||
cd $BASE
|
cd $BASE
|
||||||
|
|
||||||
|
if test ! -d $PACKAGE_DIR; then
|
||||||
|
echo "Win32 package directory does not exist"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
LIBS=$BUILD_DIR/libs
|
LIBS=$BUILD_DIR/libs
|
||||||
|
|
||||||
export ARDOUR_PATH=$BASE/gtk2_ardour/icons:$BASE/gtk2_ardour/pixmaps:$BASE/build/default/gtk2_ardour:$BASE/gtk2_ardour:.
|
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/
|
export PBD_TEST_PATH=$BASE/libs/pbd/test/
|
||||||
|
|
||||||
if test ! -d $PACKAGE_DIR; then
|
cd $PACKAGE_DIR
|
||||||
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
|
|
||||||
5
tools/windows_packaging/wine-evoral-tests.sh
Executable file
5
tools/windows_packaging/wine-evoral-tests.sh
Executable file
|
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
. ./wine-env.sh
|
||||||
|
|
||||||
|
wine evoral-run-tests.exe
|
||||||
5
tools/windows_packaging/wine-pbd-tests.sh
Executable file
5
tools/windows_packaging/wine-pbd-tests.sh
Executable file
|
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
. ./wine-env.sh
|
||||||
|
|
||||||
|
wine pbd-run-tests.exe
|
||||||
BIN
waf
vendored
BIN
waf
vendored
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue