mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-07 10:14:46 -04:00
Fixes to sfntly to get it to compile correctly with -fPIC and g++ (remove inline method definitions)
This commit is contained in:
parent
929ad31af9
commit
d51de87c61
@ -47,6 +47,17 @@ int32_t LocaTable::NumLocas() {
|
|||||||
return num_glyphs_ + 1;
|
return num_glyphs_ + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Changed by Kovid: The following two methods must not have inline
|
||||||
|
// definitions, otherwise they give incorrect results when compiled with gcc
|
||||||
|
// and -fPIC, leading to corrupted font generation.
|
||||||
|
int32_t LocaTable::num_glyphs() {
|
||||||
|
return num_glyphs_;
|
||||||
|
}
|
||||||
|
|
||||||
|
int32_t LocaTable::format_version() {
|
||||||
|
return format_version_;
|
||||||
|
}
|
||||||
|
|
||||||
int32_t LocaTable::Loca(int32_t index) {
|
int32_t LocaTable::Loca(int32_t index) {
|
||||||
if (index > num_glyphs_) {
|
if (index > num_glyphs_) {
|
||||||
#if !defined (SFNTLY_NO_EXCEPTION)
|
#if !defined (SFNTLY_NO_EXCEPTION)
|
||||||
@ -101,6 +112,13 @@ LocaTable::Builder::Builder(Header* header, ReadableFontData* data)
|
|||||||
|
|
||||||
LocaTable::Builder::~Builder() {}
|
LocaTable::Builder::~Builder() {}
|
||||||
|
|
||||||
|
// Changed by Kovid: The following two methods must not have inline
|
||||||
|
// definitions, otherwise they give incorrect results when compiled with gcc
|
||||||
|
// and -fPIC, leading to corrupted font generation.
|
||||||
|
int32_t LocaTable::Builder::format_version() { return format_version_; }
|
||||||
|
|
||||||
|
void LocaTable::Builder::set_format_version(int32_t value) { format_version_ = value; }
|
||||||
|
|
||||||
CALLER_ATTACH
|
CALLER_ATTACH
|
||||||
LocaTable::Builder* LocaTable::Builder::CreateBuilder(Header* header,
|
LocaTable::Builder* LocaTable::Builder::CreateBuilder(Header* header,
|
||||||
WritableFontData* data) {
|
WritableFontData* data) {
|
||||||
|
@ -51,8 +51,8 @@ class LocaTable : public Table, public RefCounted<LocaTable> {
|
|||||||
// Get the format version that will be used when the loca table is
|
// Get the format version that will be used when the loca table is
|
||||||
// generated.
|
// generated.
|
||||||
// @return the loca table format version
|
// @return the loca table format version
|
||||||
int32_t format_version() { return format_version_; }
|
int32_t format_version();
|
||||||
void set_format_version(int32_t value) { format_version_ = value; }
|
void set_format_version(int32_t value);
|
||||||
|
|
||||||
// Gets the List of locas for loca table builder. These may be manipulated
|
// Gets the List of locas for loca table builder. These may be manipulated
|
||||||
// in any way by the caller and the changes will be reflected in the final
|
// in any way by the caller and the changes will be reflected in the final
|
||||||
@ -140,8 +140,8 @@ class LocaTable : public Table, public RefCounted<LocaTable> {
|
|||||||
|
|
||||||
virtual ~LocaTable();
|
virtual ~LocaTable();
|
||||||
|
|
||||||
int32_t format_version() { return format_version_; }
|
int32_t format_version();
|
||||||
int32_t num_glyphs() { return num_glyphs_; }
|
int32_t num_glyphs();
|
||||||
|
|
||||||
// Return the offset for the given glyph id. Valid glyph ids are from 0 to the
|
// Return the offset for the given glyph id. Valid glyph ids are from 0 to the
|
||||||
// one less than the number of glyphs. The zero entry is the special entry for
|
// one less than the number of glyphs. The zero entry is the special entry for
|
||||||
|
Loading…
x
Reference in New Issue
Block a user