Merge branch 'mojodna-color-comp-op' into 2.3.x

This commit is contained in:
artemp 2014-07-22 10:57:33 +01:00
commit 5fe68f6d1b
24 changed files with 496 additions and 88 deletions

View file

@ -1,6 +1,7 @@
#include "agg_pixfmt_rgba.h" #include "agg_pixfmt_rgba.h"
#include <boost/gil/gil_all.hpp> #include <boost/gil/gil_all.hpp>
#include <boost/gil/extension/toolbox/hsv.hpp> #include <boost/gil/extension/toolbox/hsv.hpp>
#include <boost/gil/extension/toolbox/hsl.hpp>
//#include <iostream> //#include <iostream>
namespace agg namespace agg
@ -88,15 +89,16 @@ void comp_op_rgba_color<ColorT,Order>::blend_pix(value_type* p,
{ {
using namespace boost; using namespace boost;
using namespace gil; using namespace gil;
using namespace hsv_color_space; using namespace hsl_color_space;
rgb8_pixel_t rgb_src(sr,sg,sb); rgb8_pixel_t rgb_src(sr,sg,sb);
rgb8_pixel_t rgb_dst(p[Order::R],p[Order::G],p[Order::B]); rgb8_pixel_t rgb_dst(p[Order::R],p[Order::G],p[Order::B]);
hsv32f_pixel_t hsv_src,hsv_dst; hsl32f_pixel_t hsl_src,hsl_dst;
color_convert( rgb_src, hsv_src); color_convert( rgb_src, hsl_src);
color_convert( rgb_dst, hsv_dst); color_convert( rgb_dst, hsl_dst);
get_color(hsv_dst,hue_t()) = get_color(hsv_src,hue_t()); get_color(hsl_dst,hue_t()) = get_color(hsl_src,hue_t());
get_color(hsv_dst,saturation_t()) = get_color(hsv_src,saturation_t()); get_color(hsl_dst,saturation_t()) = get_color(hsl_src,saturation_t());
color_convert(hsv_dst, rgb_dst); get_color(hsl_dst,lightness_t()) = get_color(hsl_dst,lightness_t());
color_convert(hsl_dst, rgb_dst);
p[Order::R] = get_color(rgb_dst,red_t()); p[Order::R] = get_color(rgb_dst,red_t());
p[Order::G] = get_color(rgb_dst,green_t()); p[Order::G] = get_color(rgb_dst,green_t());
p[Order::B] = get_color(rgb_dst,blue_t()); p[Order::B] = get_color(rgb_dst,blue_t());

View file

@ -120,7 +120,7 @@ void ogr_datasource::init(mapnik::parameters const& params)
#if GDAL_VERSION_MAJOR >= 2 #if GDAL_VERSION_MAJOR >= 2
unsigned int nOpenFlags = GDAL_OF_READONLY | GDAL_OF_VECTOR; unsigned int nOpenFlags = GDAL_OF_READONLY | GDAL_OF_VECTOR;
const char* papszAllowedDrivers[] = { driver.c_str(), NULL }; const char* papszAllowedDrivers[] = { driver.c_str(), NULL };
dataset_ = static_cast<gdal_dataset_type>(GDALOpenEx(dataset_name_.c_str(),nOpenFlags,papszAllowedDrivers,NULL,NULL)); dataset_ = reinterpret_cast<gdal_dataset_type>(GDALOpenEx(dataset_name_.c_str(),nOpenFlags,papszAllowedDrivers,NULL,NULL));
#else #else
OGRSFDriver * ogr_driver = OGRSFDriverRegistrar::GetRegistrar()->GetDriverByName(driver.c_str()); OGRSFDriver * ogr_driver = OGRSFDriverRegistrar::GetRegistrar()->GetDriverByName(driver.c_str());
if (ogr_driver && ogr_driver != NULL) if (ogr_driver && ogr_driver != NULL)
@ -133,7 +133,7 @@ void ogr_datasource::init(mapnik::parameters const& params)
{ {
// open ogr driver // open ogr driver
#if GDAL_VERSION_MAJOR >= 2 #if GDAL_VERSION_MAJOR >= 2
dataset_ = static_cast<gdal_dataset_type>(OGROpen(dataset_name_.c_str(), FALSE, NULL)); dataset_ = reinterpret_cast<gdal_dataset_type>(OGROpen(dataset_name_.c_str(), FALSE, NULL));
#else #else
dataset_ = OGRSFDriverRegistrar::Open(dataset_name_.c_str(), FALSE); dataset_ = OGRSFDriverRegistrar::Open(dataset_name_.c_str(), FALSE);
#endif #endif

View file

@ -90,16 +90,14 @@ bool freetype_engine::is_font_file(std::string const& file_name)
} }
unsigned long ft_read_cb(FT_Stream stream, unsigned long offset, unsigned char *buffer, unsigned long count) { unsigned long ft_read_cb(FT_Stream stream, unsigned long offset, unsigned char *buffer, unsigned long count) {
if (count <= 0) return count; if (count <= 0) return 0;
std::ifstream * file = static_cast<std::ifstream *>(stream->descriptor.pointer); FILE * file = static_cast<FILE *>(stream->descriptor.pointer);
file->seekg(offset, std::ios::beg); std::fseek (file , offset , SEEK_SET);
file->read((char*)buffer, count); return std::fread ((char*)buffer, 1, count, file);
return file->gcount();
} }
void ft_close_cb(FT_Stream stream) { void ft_close_cb(FT_Stream stream) {
std::ifstream * file = static_cast<std::ifstream *>(stream->descriptor.pointer); std::fclose (static_cast<std::FILE *>(stream->descriptor.pointer));
file->close();
} }
bool freetype_engine::register_font(std::string const& file_name) bool freetype_engine::register_font(std::string const& file_name)
@ -109,13 +107,11 @@ bool freetype_engine::register_font(std::string const& file_name)
#endif #endif
#ifdef _WINDOWS #ifdef _WINDOWS
std::ifstream file(mapnik::utf8_to_utf16(file_name) , std::ios::binary); FILE * file = _wfopen(mapnik::utf8_to_utf16(file_name).c_str(), L"rb");
#else #else
std::ifstream file(file_name.c_str() , std::ios::binary); FILE * file = std::fopen(file_name.c_str(),"rb");
#endif #endif
if (!file.good()) { if (file == NULL) return false;
return false;
}
FT_Library library = 0; FT_Library library = 0;
FT_Error error = FT_Init_FreeType(&library); FT_Error error = FT_Init_FreeType(&library);
@ -129,16 +125,13 @@ bool freetype_engine::register_font(std::string const& file_name)
FT_StreamRec streamRec; FT_StreamRec streamRec;
memset(&args, 0, sizeof(args)); memset(&args, 0, sizeof(args));
memset(&streamRec, 0, sizeof(streamRec)); memset(&streamRec, 0, sizeof(streamRec));
std::streampos beg = file.tellg(); fseek(file, 0, SEEK_END);
file.seekg (0, std::ios::end); std::size_t file_size = std::ftell(file);
std::streampos end = file.tellg(); fseek(file, 0, SEEK_SET);
std::size_t file_size = end - beg;
file.seekg (0, std::ios::beg);
streamRec.base = 0; streamRec.base = 0;
streamRec.pos = 0; streamRec.pos = 0;
streamRec.size = file_size; streamRec.size = file_size;
streamRec.descriptor.pointer = &file; streamRec.descriptor.pointer = file;
streamRec.read = ft_read_cb; streamRec.read = ft_read_cb;
streamRec.close = ft_close_cb; streamRec.close = ft_close_cb;
args.flags = FT_OPEN_STREAM; args.flags = FT_OPEN_STREAM;
@ -183,9 +176,8 @@ bool freetype_engine::register_font(std::string const& file_name)
MAPNIK_LOG_ERROR(font_engine_freetype) << "register_font: " << s.str(); MAPNIK_LOG_ERROR(font_engine_freetype) << "register_font: " << s.str();
} }
if (face) FT_Done_Face(face);
} }
if (face)
FT_Done_Face(face);
if (library) if (library)
FT_Done_FreeType(library); FT_Done_FreeType(library);
return success; return success;
@ -300,22 +292,33 @@ face_ptr freetype_engine::create_face(std::string const& family_name)
#ifdef MAPNIK_THREADSAFE #ifdef MAPNIK_THREADSAFE
mutex::scoped_lock lock(mutex_); mutex::scoped_lock lock(mutex_);
#endif #endif
std::ifstream is(itr->second.second.c_str() , std::ios::binary); #ifdef _WINDOWS
std::string buffer((std::istreambuf_iterator<char>(is)), FILE * file = _wfopen(mapnik::utf8_to_utf16(itr->second.second).c_str(), L"rb");
std::istreambuf_iterator<char>()); #else
std::pair<std::map<std::string,std::string>::iterator,bool> result FILE * file = std::fopen(itr->second.second.c_str(),"rb");
= memory_fonts_.insert(std::make_pair(itr->second.second, buffer)); #endif
if (file != NULL)
FT_Error error = FT_New_Memory_Face (library_,
reinterpret_cast<FT_Byte const*>(result.first->second.c_str()),
static_cast<FT_Long>(buffer.size()),
itr->second.first,
&face);
if (!error) return boost::make_shared<font_face>(face);
else
{ {
// we can't load font, erase it. std::fseek(file, 0, SEEK_END);
memory_fonts_.erase(result.first); std::size_t file_size = std::ftell(file);
std::fseek(file, 0, SEEK_SET);
std::string buffer;
buffer.resize(file_size);
std::fread(&buffer[0], file_size, 1, file);
std::pair<std::map<std::string,std::string>::iterator,bool> result =
memory_fonts_.insert(std::make_pair(itr->second.second, buffer));
FT_Error error = FT_New_Memory_Face (library_,
reinterpret_cast<FT_Byte const*>(result.first->second.c_str()),
static_cast<FT_Long>(buffer.size()),
itr->second.first,
&face);
std::fclose(file);
if (!error) return boost::make_shared<font_face>(face);
else
{
// we can't load font, erase it.
memory_fonts_.erase(result.first);
}
} }
} }
} }

View file

@ -23,7 +23,7 @@ def compare_map(xml):
m = mapnik.Map(256, 256) m = mapnik.Map(256, 256)
absolute_base = os.path.abspath(os.path.dirname(xml)) absolute_base = os.path.abspath(os.path.dirname(xml))
try: try:
mapnik.load_map(m, xml, False, absolute_base) mapnik.load_map(m, xml, True, absolute_base)
except RuntimeError, e: except RuntimeError, e:
# only test datasources that we have installed # only test datasources that we have installed
if not 'Could not create datasource' in str(e): if not 'Could not create datasource' in str(e):
@ -37,7 +37,7 @@ def compare_map(xml):
os.remove(test_map) os.remove(test_map)
mapnik.save_map(m, test_map) mapnik.save_map(m, test_map)
new_map = mapnik.Map(256, 256) new_map = mapnik.Map(256, 256)
mapnik.load_map(new_map, test_map,False,absolute_base) mapnik.load_map(new_map, test_map, True, absolute_base)
open(test_map2,'w').write(mapnik.save_map_to_string(new_map)) open(test_map2,'w').write(mapnik.save_map_to_string(new_map))
diff = ' diff %s %s' % (os.path.abspath(test_map),os.path.abspath(test_map2)) diff = ' diff %s %s' % (os.path.abspath(test_map),os.path.abspath(test_map2))
try: try:

Binary file not shown.

View file

@ -0,0 +1 @@
RachanaMac.ttf V.5.0 downloaded from https://sites.google.com/site/macmalayalam/ on Dec 2, 2013.

View file

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match>
<test name="lang" compare="contains">
<string>bn</string>
</test>
<test name="family">
<string>sans-serif</string>
</test>
<edit name="family" mode="prepend">
<string>Lohit Bengali</string>
</edit>
</match>
<match target="font">
<test name="family" compare="eq">
<string>Lohit Bengali</string>
</test>
<edit name="autohint" mode="assign">
<bool>true</bool>
</edit>
</match>
<alias>
<family>Lohit Bengali</family>
<default>
<family>sans-serif</family>
</default>
</alias>
</fontconfig>

View file

@ -0,0 +1,12 @@
Contributors (Alphabetically) :-
- Baishampayan Ghose
- Bernard Massot
- Darshan Santani
- Hiran Venugopalan
- Leon Ho
- Parag Nemade
- Pravin Satpute
- Rahul Bhalerao
- Ramkrishna Reddy
- Sandeep Shedmake
- Shriramana Sharma

View file

@ -0,0 +1,7 @@
Copyright 2011-12 Lohit Fonts Project contributors.
<http://fedorahosted.org/lohit>
Licensed under the SIL Open Font License 1.1 (see file
OFL.txt)
Lohit is a trademark of Red Hat, Inc.

View file

@ -0,0 +1,25 @@
lohit-bengali
Current Version :- 2.5.3
* Fri Dec 21 2012 Pravin Satpute <psatpute@redhat.com> - 2.5.3
- Dropping RFN from OFL.txt
* Thu Nov 08 2012 Pravin Satpute <psatpute@redhat.com> - 2.5.2
- resolved rendering error for UTRRS Assamese GPSO sequence 25, 28 44 and 63 for Harfbuzz
- resolved rendering error for UTRRS Bengali GSUB sequnce 86, 88 for harfbuzz
- corrected panose values #803294
* Wed Feb 29 2012 Pravin Satpute <psatpute@redhat.com> - 2.5.1
- added U+09FB character
- added autohint instruction in conf file
* Wed Sep 21 2011 Pravin Satpute <psatpute@redhat.com> - 2.5.0
- relicensing to OFL 1.1
* Tue Aug 30 2011 Pravin Satpute <psatpute@redhat.com> - 2.4.3.1
- minor release, added makefile in tarball
* Fri Aug 28 2009 Pravin Satpute <psatpute@redhat.com> - 2.4.3
- first release with split tarball
- see Changelog.old for previous changes

View file

@ -0,0 +1,175 @@
fonts-indic
Current Version :- 2.4.3
* Wed Sep 09 2009 Pravin Satpute <psatpute@redhat.com> - 2.4.3
- updated conf file for all language
- added changelog for individual lang
- modified makedist.sh generate.sh for releasing new tarballs
* Fri Aug 28 2009 Pravin Satpute <psatpute@redhat.com> - 2.4.2
- added conf file for all fonts
- contributions from Parag Nemade <pnemade@redhat.com> for conf files
* Wed Aug 12 2009 Pravin Satpute <psatpute@redhat.com> - 2.4.1
- Update Copyright
* Tue Aug 04 2009 Pravin Satpute <psatpute@redhat.com> - 2.4.0
- Added Unicode 5.1 support in All Lohit fonts
* Thu Mar 05 2009 Rahul Bhalerao <rbhalera@redhat.com> - 2.3.8
- Bug 428427 - [kn_IN][fonts-indic] - 0CB5+0CCA is wrongly rendering
- Bug 450699 - [ta_IN]Errors in "sh" and "shrI" in Lohit Tamil font (fixed in font, needs rendering update)
- Bug 476427 - [te_IN] - Consonant+Virama+Consonant+Virama+space renders the second virama as a separate glyph in lohit-telugu font
- Bug 479100 - [kn_IN] Conjunct combination of U0C9D with U0CCA/U0CCB is rendering wrongly
- Bug 483530 - [bn_IN]Lohit Bengali font cheating about character support
- Added Lohit-Assamese
- Modified README file.
* Tue Sep 09 2008 Rahul Bhalerao <rbhalera@redhat.com> - 2.3.1
- Bug 216400: [te_IN] - Anaconda GUI - Release Notes button is overlapping
with other texts in a specific page
* Wed Aug 20 2008 Rahul Bhalerao <rbhalera@redhat.com> - 2.3.0
- Bug 215902: [hi_IN, mr_IN]Incorrect extent of 0x093f when attached to a composite character which has width greater than a single character (hi_IN & maybe others)
- Forked Lohit Hindi into Marathi, Maithili, Kashmiri, Konkani, Sindhi and Nepali.
* Fri Jun 06 2008 Rahul Bhalerao <rbhalera@redhat.com>
- Bug 445176: [ml_IN] Conjuncts combining with 0D30 do not form the pre based glyph
* Fri Jun 06 2008 Rahul Bhalerao <rbhalera@redhat.com>
- Improved Anchoring(blwm Anchor-0) for Hindi font.
- Corrected positioning of U+0953 for Hindi font.
* Tue Apr 29 2008 Rahul Bhalerao <rbhalera@redhat.com> - 2.2.1
- Resolved bugs (bugzilla.redhat.com):
- Bug 444559 Processed: [ml_IN] Wrong shape for conjuncts formed using 0D30
(xRa) in a word
- Bug 444561 Processed: [ml_IN] Conjuncts does not get combined with 0D30 to
form the pre based glyph
- Bug 444563: [ml_IN] When 0D2F is combined with a consonant and followed by
0D15, 0D2F joins with 0D15
* Tue Apr 08 2008 Rahul Bhalerao <rbhalera@redhat.com> - 2.2.0
- Resolved bugs (bugzilla.redhat.com):
- Bug 202400: [hi_IN] New codepoints/glyphs in Unicode 5.0
- Bug 205981: [hi_IN]The font file of Devanagari(lohit_hi.ttf) lacks the glyph
of U+0x0904
- Bug 206426: [hi_IN, mr_IN] Some Glyphs are missing and some GPOS shapes
should be more perfect - Priority - C
- Bug 239630: [hi_IN] the glyph of 0x0953 in lohit_hi.ttf is wrong.
- Bug 428427: [kn_IN][fonts-indic] - 0CB5+0CCA is wrongly rendering
* Thu Feb 28 2008 Rahul Bhalerao <rbhalera@redhat.com> - 2.1.9
- Resolved bugs(bugzilla.redhat.com):
- Bug 431035: [ml_IN] Glyph to be formed for nine consonants + 0D4D + 0D32
- Bug 433437: [ml_IN] Rendering combination incorrect with 0D35
- Bug 433440: [ml_IN] Rendering combination incorrect with 0D2F
- Contributions from Hiran Venugopalan (xRa glyphs and few other)
* Fri Jan 25 2008 Rahul Bhalerao <rbhalera@redhat.com> - 2.1.8
- Bug 192812: [ml_IN]GPOS issues in new Malayalam font
- Bug 402321: [ml_IN} Wrong combinations used for the conjunct 'ന്പ'
- Bug 402331: [ml_IN] Wrong combinations used for conjunct 'ന്‍റ'
- Bug 424701: [ml_IN] words are shown joined (very low space shown on screen)
- Bug 429526: [ml_IN]: Removal of a glyph from font file
- Bug 247233: Additional special character rendering for assamese [as-IN] and bengali [bn-IN]
* Tue Jan 15 2008 Rahul Bhalerao <rbhalera@redhat.com> - 2.1.7
- Updated the makedist.sh script
* Tue Jan 15 2008 Rahul Bhalerao <rbhalera@redhat.com> - 2.1.7
- Bug 233419: [kn_IN] GSUB's combinaing with additional dependent vowel are
not rendering correctly
* Fri Dec 14 2007 Rahul Bhalerao <rbhalera@redhat.com> - 2.1.6
- Bug 234284: [pa_IN] Enlarge size for asterik(*)
* Mon Mar 26 2007 Parag Nemade <pnemade@redhat.com> - 2.1.5
- Resolved Bugs from Parag Nemade
- Bug 231965: [kn_IN] wrong Conjuct combines during the formation kannada letter [yo]
- Bug 233257: [kn_IN] Conjuct combination of U0CAE with U0CCB is rendering wrongly
- Bug 233415: [kn_IN] GSUB's combinaing with additional dependent vowel are not rendering correctly
- Bug 233554: [kn_IN] GSUB's combinaing with additional dependent vowel U0CC0 are not rendering correctly
- Bug 233555: [kn_IN] GSUB's combinaing with additional dependent vowel U0CC7 are not rendering correctly
- Bug 233556: [kn_IN] GSUB's combinaing with additional dependent vowel U0CC6 are not rendering correctly
- Bug 233557: [kn_IN] GSUB's combinaing with additional dependent vowel U0CC8 are not rendering correctly
- Bug 233558: [kn_IN] GSUB's combinaing with additional dependent vowel U0CCBare not rendering correctly
- Bug 233559: [kn_IN] GSUB's combinaing with additional dependent vowel U0CBE are not rendering correctly
- Bug 233560: [kn_IN] GSUB's combinaing with additional dependent vowel U0CBF are not rendering correctly
* Mon Mar 05 2007 Parag Nemade <pnemade@redhat.com> - 2.1.4
- Resolved Bugs from Parag Nemade
- Bug 221383: [kn_IN] GSUB combinations has problem with Ra
* Mon Feb 19 2007 Parag Nemade <pnemade@redhat.com> - 2.1.3
- Resolved Bugs from Parag Nemade
- Bug 202401: [ta_IN] New codepoints/glyphs in Unicode 5.0
- Bug 223774: [kn_IN] Some Ligature rules are wrong in the font file
- Bug 223971: [kn_IN] Consonant + Halant + Consonant + Dependent Vowel not appearing properly in some rare cases
- Bug 227971: [kn_IN] Combinations with 2 Halants not rendering properly
* Tue Jan 16 2007 Parag Nemade <pnemade@redhat.com> - 2.1.2
- Resolved Bugs from Parag Nemade
- Bug 222407: [or_IN] [fonts-indic] - One GSUB Conjunct is not appearing with its correct shape
- Bug 206434: [ml_IN] Digits are appearing in English instead of malayalam - Priority C
- Bug 215894: Relative height of 0x0901 (and 0x0902) on 0x0915 is different than other devnagari characters (hi_IN, mr_IN)
- Bug 222408: [te_IN] [fonts-indic] - Danda and Double Danda to be implemented with 0964 && 0965
- Bug 222409: [kn_IN] [fonts-indic] - Danda and Double Danda to be implemented with 0964 && 0965
- Bug 221384: [kn_IN] - shape of ra (U+0CB0) is not corret in combined character (below base)
* Tue Jan 16 2007 Parag Nemade <pnemade@redhat.com> - 2.1.1
- Added makedist.sh, generate.sh and generate.pe script files.
* Fri Jan 12 2007 Parag Nemade <pnemade@redhat.com> - 2.0.13
- Resolved Bugs from Parag Nemade
- Bug 220880: [or_IN] Danda need to move from 0B64/0B65 to 0964/0965
- Bug 222406: [ml_IN] Danda need to move from 0D64/0D65 to 0964/0965
* Wed Jan 02 2007 Parag Nemade <pnemade@redhat.com> - 2.0.12
- Resolved Bugs from Parag Nemade
- Bug 220881: [ta_IN] [fonts-tamil] - Warning showing in the terminal when run apps with ta_IN locale
- Bug 220882: [hi_IN] rendering problem for number "5" in postscript file
* Wed Dec 13 2006 Parag Nemade <pnemade@redhat.com> - 2.0.11
- Resolved Bugs from Parag Nemade
- Bug 216639: [kn_IN] OTF rules to be fixed - Priority A
- Bug 217482: [kn_IN] - pango - Composed Char not rendered properly
- Bug 219583: [pa_IN] Punjabi fonts' size is big as compared to English
- Bug 218588: [gu_IN] Qt doesn't display virama properly
* Tue Dec 06 2006 Parag Nemade <pnemade@redhat.com> - 2.0.10
- Resolved Bugs from Parag Nemade
- Bug 207269: [ta_IN] - Some conjunct characters not appearing with proper shape - Priority - B
- Bug 217482: [kn_IN] - pango - Composed Char not rendered properly
- Bug 216628: [ml] characters are not shown bold during selecting BOLD font
- Bug 218588: [gu_IN] Qt doesn't display virama properly
- Bug 206599: [te_IN] - Some of the Priority - C GSUB Conjuncts are not appearing with its actual shape
- Resolved Bugs from LingNing Zhang
- Bug 218586: [ml_IN] 0d2f+0d4d combination is invaild when put in word
- Bug 218587: [ml_IN] 0d35+0d4d combination is invaild (should not combine)
* Tue Nov 21 2006 Parag Nemade <pnemade@redhat.com> - 2.0.9
- Fixed Bugs from Parag Nemade
- Bug 216060: [pa_IN]Lohit Punjabi: (U+0A03) Gurmukhi Sign Visarga right margin is too wide.
* Tue Nov 21 2006 Parag Nemade <pnemade@redhat.com> - 2.0.8
- Fixed Bugs from Parag Nemade
- Bug 216629 : [te_IN] GPOS position should be at middle instead of left hand side - Priority B
- Bug 216631 : [or_IN] one GSUB Rule is wrongly defined - Priority A
- Bug 216628 : [ml] characters are not shown bold during selecting BOLD font
- Bug 216624 : [pa_IN] 0a01/0a03/0964/0965 is missing from font
- Bug 216634 : Glyphs for two combinations are wrong in Gujarati (gu_IN)
- Bug 197216 : [bn_IN]Incorrect glyph for conjunct
- Bug 215894 : Relative height of 0x0901 (and 0x0902) on 0x0915 is different than
other devnagari characters (hi_IN, mr_IN)
- Fixed Bugs from LingNing Zhang
- Bug 216626 : [as_IN] Pango - A particular char when Conjuncts, creates Cursor Nevigation Problem
- Bug 216627 : [ml_IN] The glyph of 0x25CC is not existing in lohit_ml.ttf
- Bug 216639 : [kn_IN] OTF rules to be fixed - Priority A
* Tue 17 oct 2006 Leon Ho <llch@redhat.com> - 2.0.7
- Bug 206601: [ta_IN] Glyph is missing for Unicode U+0BB6 - Priority - A (Rahul Bhalerao)
- Bug 216639: [kn_IN] OTF rules to be fixed - Priority A (Ramakrishna Reddy)
* Fri 29 Sep 2006 Leon Ho <llch@redhat.com> - 2.0.6
- Bug 208525: [ml_IN]the glyph of 0d33+0d4d+0d33 is wrong (LingNing Zhang)
- Bug 208540: [ml_IN]the glyph of 0d2f+0d4d and the glyph of 0d2f+0d4d+0d2f are wrong (LingNing Zhang)

View file

@ -0,0 +1,94 @@
Copyright 2011-12 Lohit Fonts Project contributors
<http://fedorahosted.org/lohit>
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
http://scripts.sil.org/OFL
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

View file

@ -0,0 +1,21 @@
Lohit Fonts Project
1) Generating .ttf file from source
Example
$tar -xvf lohit-hindi-2.4.3.tar.gz
$cd lohit-hindi-2.4.3
$make
2) Installing font (.ttf) file
You can then install .ttf font files by copying them to ~/.fonts directory.
Then execute fc-cache command and then relogin to use that font.
Lohit Project Information :-
See https://fedorahosted.org/lohit/ for more details.
Mailing list:-
http://www.redhat.com/mailman/listinfo/lohit-devel-list

View file

@ -0,0 +1,20 @@
Lohit Fonts Project
Scripts Usage:-
Lohit CVS is now included with 2 shell scripts
1)generate.sh
Once you checkout the .sfd files from lohit CVS, you just need to execute this script
and you will get all .ttf files in respective language directory. You can then install those font files
by copying them to ~/.fonts directory. Then execute fc-cache command and then relogin to use that font.
2)makedist.sh
Use this script to generate upstream tarball used by fonts-indic SPEC to build rpms.
e.g.
To generate lohit-lang-$version.tar.gz follow steps as
1) Anonymous CVS access
$ svn co http://svn.fedorahosted.org/svn/lohit
1) cd lohit
2) sh makedist.sh
You will get upstream tarball used to build lohit-fonts-$version-1 rpm.
NOTE:- This script can be used only from 2.1.1 and above version of this package.

View file

@ -1,6 +1,8 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE Map> <!DOCTYPE Map>
<Map background-color="white" srs="+proj=latlong +datum=WGS84" font-directory="../fonts"> <Map background-color="white"
srs="+proj=latlong +datum=WGS84"
font-directory="../fonts">
<Layer name="layer" srs="+proj=latlong +datum=WGS84"> <Layer name="layer" srs="+proj=latlong +datum=WGS84">
<StyleName>My Style</StyleName> <StyleName>My Style</StyleName>
<Datasource> <Datasource>

View file

@ -1,6 +1,8 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE Map> <!DOCTYPE Map>
<Map background-color="white" srs="+proj=latlong +datum=WGS84"> <Map background-color="white"
srs="+proj=latlong +datum=WGS84"
font-directory="../fonts">
<Layer name="layer" srs="+proj=latlong +datum=WGS84"> <Layer name="layer" srs="+proj=latlong +datum=WGS84">
<StyleName>My Style</StyleName> <StyleName>My Style</StyleName>
<Datasource> <Datasource>

View file

@ -14,7 +14,7 @@
<Style name="My Style"> <Style name="My Style">
<Rule> <Rule>
<LineSymbolizer stroke-width="12" stroke="red"/> <LineSymbolizer stroke-width="12" stroke="red"/>
<TextSymbolizer face-name="DejaVu Sans Book" size="16" placement="line" spacing="10" upright="left" max-char-angle-delta="0">"Some Text"</TextSymbolizer> <TextSymbolizer face-name="DejaVu Sans Book" size="16" placement="line" spacing="10" max-char-angle-delta="0">"Some Text"</TextSymbolizer>
</Rule> </Rule>
</Style> </Style>

View file

@ -1,7 +1,9 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE Map> <!DOCTYPE Map>
<!-- complex script on line test --> <!-- complex script on line test -->
<Map background-color="white" srs="+proj=latlong +datum=WGS84" font-directory="../fonts"> <Map background-color="white"
srs="+proj=latlong +datum=WGS84"
font-directory="../fonts">
<Layer name="layer" srs="+proj=latlong +datum=WGS84"> <Layer name="layer" srs="+proj=latlong +datum=WGS84">
<StyleName>My Style</StyleName> <StyleName>My Style</StyleName>

View file

@ -48,17 +48,17 @@
</Rule> </Rule>
<Rule> <Rule>
<Filter>[nr] = 8</Filter> <Filter>[nr] = 8</Filter>
<TextSymbolizer face-name="DejaVu Sans Book" size="16" placement="point" orientation="0" horizontal-alignment="right" vertical-alignment="top" rotate-displacement="true">"XYZ"</TextSymbolizer> <TextSymbolizer face-name="DejaVu Sans Book" size="16" placement="point" orientation="0" horizontal-alignment="right" vertical-alignment="top">"XYZ"</TextSymbolizer>
<PointSymbolizer allow-overlap="true"/> <PointSymbolizer allow-overlap="true"/>
</Rule> </Rule>
<Rule> <Rule>
<Filter>[nr] = 9</Filter> <Filter>[nr] = 9</Filter>
<TextSymbolizer face-name="DejaVu Sans Book" size="16" placement="point" orientation="90" horizontal-alignment="right" vertical-alignment="top" rotate-displacement="true">"XYZ"</TextSymbolizer> <TextSymbolizer face-name="DejaVu Sans Book" size="16" placement="point" orientation="90" horizontal-alignment="right" vertical-alignment="top">"XYZ"</TextSymbolizer>
<PointSymbolizer allow-overlap="true"/> <PointSymbolizer allow-overlap="true"/>
</Rule> </Rule>
<Rule> <Rule>
<Filter>[nr] = 10</Filter> <Filter>[nr] = 10</Filter>
<TextSymbolizer face-name="DejaVu Sans Book" size="16" placement="point" orientation="180" horizontal-alignment="right" vertical-alignment="top" rotate-displacement="true">"XYZ"</TextSymbolizer> <TextSymbolizer face-name="DejaVu Sans Book" size="16" placement="point" orientation="180" horizontal-alignment="right" vertical-alignment="top">"XYZ"</TextSymbolizer>
<PointSymbolizer allow-overlap="true"/> <PointSymbolizer allow-overlap="true"/>
</Rule> </Rule>
</Style> </Style>

View file

@ -1,25 +1,32 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE Map> <!DOCTYPE Map>
<Map background-color="white" srs="+proj=latlong +datum=WGS84" font-directory="/usr/share/fonts/truetype/lohit-bengali/"> <!--
Lohit bengali from https://fedorahosted.org/releases/l/o/lohit/lohit-bengali-ttf-2.5.3.tar.gz
via https://fedorahosted.org/lohit/
-->
<Map background-color="white" srs="+proj=latlong +datum=WGS84"
font-directory="../fonts/lohit-bengali-ttf-2.5.3/">
<Layer name="layer" srs="+proj=latlong +datum=WGS84"> <Layer name="layer" srs="+proj=latlong +datum=WGS84">
<StyleName>My Style</StyleName> <StyleName>My Style</StyleName>
<Datasource> <Datasource>
<Parameter name="type">csv</Parameter> <Parameter name="type">csv</Parameter>
<Parameter name="file">../data/points.csv</Parameter> <Parameter name="file">../data/points.csv</Parameter>
</Datasource> <Parameter name="extent">-1,-1,1,1</Parameter>
</Datasource>
</Layer> </Layer>
<Style name="My Style"> <Style name="My Style">
<Rule> <Rule>
<Filter>[nr] = "3"</Filter> <Filter>[nr] = 3</Filter>
<TextSymbolizer face-name="Lohit Bengali Regular" size="30" placement="point" dy="0">"গোপালগঞ্জ"</TextSymbolizer> <TextSymbolizer face-name="Lohit Bengali Regular" size="30" placement="point" dy="0">"গোপালগঞ্জ"</TextSymbolizer>
</Rule> </Rule>
<Rule> <Rule>
<Filter>[nr] = "5"</Filter> <Filter>[nr] = 5</Filter>
<TextSymbolizer face-name="Lohit Bengali Regular" size="30" placement="point" dy="0">"ঝিনাইদহ"</TextSymbolizer> <TextSymbolizer face-name="Lohit Bengali Regular" size="30" placement="point" dy="0">"ঝিনাইদহ"</TextSymbolizer>
</Rule> </Rule>
<Rule> <Rule>
<Filter>[nr] = "7"</Filter> <Filter>[nr] = 7</Filter>
<TextSymbolizer face-name="Lohit Bengali Regular" size="30" placement="point" dy="0">"কুষ্টিয়া"</TextSymbolizer> <TextSymbolizer face-name="Lohit Bengali Regular" size="30" placement="point" dy="0">"কুষ্টিয়া"</TextSymbolizer>
</Rule> </Rule>
</Style> </Style>
</Map> </Map>

View file

@ -15,13 +15,13 @@
<Filter>[type] != "boundary" and [mapnik::geometry_type]=linestring</Filter> <Filter>[type] != "boundary" and [mapnik::geometry_type]=linestring</Filter>
<LineSymbolizer stroke-width="1" stroke="red"/> <LineSymbolizer stroke-width="1" stroke="red"/>
<MarkersSymbolizer file="shape://arrow" placement="line" transform="scale(.5,.5)"/> <MarkersSymbolizer file="shape://arrow" placement="line" transform="scale(.5,.5)"/>
<TextSymbolizer face-name="DejaVu Sans Book" size="10" placement="line" upright="right" dy="10" allow-overlap="true">"right: --&gt;"</TextSymbolizer> <TextSymbolizer face-name="DejaVu Sans Book" size="10" placement="line" dy="10" allow-overlap="true">"right: --&gt;"</TextSymbolizer>
<TextSymbolizer face-name="DejaVu Sans Book" size="10" placement="line" upright="left" dy="-10" allow-overlap="true">"left: &lt;--"</TextSymbolizer> <TextSymbolizer face-name="DejaVu Sans Book" size="10" placement="line" dy="-10" allow-overlap="true">"left: &lt;--"</TextSymbolizer>
<TextSymbolizer face-name="DejaVu Sans Book" size="10" placement="line" upright="left_only" allow-overlap="true" <TextSymbolizer face-name="DejaVu Sans Book" size="10" placement="line" allow-overlap="true"
placement-type="list">"left only &lt;--" placement-type="list">"left only &lt;--"
<Placement upright="right_only">"right only --&gt;"</Placement> <Placement>"right only --&gt;"</Placement>
<Placement upright="right_only">"--&gt;"</Placement> <Placement>"--&gt;"</Placement>
<Placement upright="left_only">"&lt;--"</Placement> <Placement>"&lt;--"</Placement>
</TextSymbolizer> </TextSymbolizer>
</Rule> </Rule>
</Style> </Style>

View file

@ -14,7 +14,7 @@
<Style name="My Style"> <Style name="My Style">
<Rule> <Rule>
<LineSymbolizer stroke-width="12" stroke="red"/> <LineSymbolizer stroke-width="12" stroke="red"/>
<TextSymbolizer face-name="DejaVu Sans Book" size="16" placement="line" upright="auto" max-char-angle-delta="0" horizontal-alignment="left" label-position-tolerance="0.0001">"horizontal-alignment=left"</TextSymbolizer> <TextSymbolizer face-name="DejaVu Sans Book" size="16" placement="line" max-char-angle-delta="0" horizontal-alignment="left" label-position-tolerance="0.0001">"horizontal-alignment=left"</TextSymbolizer>
</Rule> </Rule>
</Style> </Style>

View file

@ -1,17 +1,20 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE Map> <!DOCTYPE Map>
<Map background-color="white" srs="+proj=latlong +datum=WGS84" font-directory="/usr/share/fonts/truetype/malayalam-fonts/"> <Map background-color="white" srs="+proj=latlong +datum=WGS84"
font-directory="../fonts/Rachana/">
<Layer name="layer" srs="+proj=latlong +datum=WGS84"> <Layer name="layer" srs="+proj=latlong +datum=WGS84">
<StyleName>My Style</StyleName> <StyleName>My Style</StyleName>
<Datasource> <Datasource>
<Parameter name="type">csv</Parameter> <Parameter name="type">csv</Parameter>
<Parameter name="file">../data/points.csv</Parameter> <Parameter name="file">../data/points.csv</Parameter>
</Datasource> <Parameter name="extent">-1,-1,1,1</Parameter>
</Datasource>
</Layer> </Layer>
<Style name="My Style"> <Style name="My Style">
<Rule> <Rule>
<Filter>[nr] = "5"</Filter> <Filter>[nr] = 5</Filter>
<TextSymbolizer face-name="Rachana Regular" size="30" placement="point" dy="0">"ഇന്ത്യ"</TextSymbolizer> <TextSymbolizer face-name="Rachana Book" size="30" placement="point" dy="0">"ഇന്ത്യ"</TextSymbolizer>
</Rule> </Rule>
</Style> </Style>
</Map> </Map>