* The string length of the UTF8 ellipsis was incorrect (would have been 3).
* Whitespace cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26961 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -109,7 +109,7 @@ is_white_space(uint32 charCode)
|
|||||||
// #pragma mark -
|
// #pragma mark -
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief Constructor
|
\brief Constructor
|
||||||
\param style Style object to which the ServerFont belongs
|
\param style Style object to which the ServerFont belongs
|
||||||
\param size Character size in points
|
\param size Character size in points
|
||||||
@@ -145,7 +145,7 @@ ServerFont::ServerFont()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief Copy Constructor
|
\brief Copy Constructor
|
||||||
\param font ServerFont to copy
|
\param font ServerFont to copy
|
||||||
*/
|
*/
|
||||||
@@ -157,7 +157,7 @@ ServerFont::ServerFont(const ServerFont &font)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief Removes itself as a dependency of its owning style.
|
\brief Removes itself as a dependency of its owning style.
|
||||||
*/
|
*/
|
||||||
ServerFont::~ServerFont()
|
ServerFont::~ServerFont()
|
||||||
@@ -166,7 +166,7 @@ ServerFont::~ServerFont()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief Returns a copy of the specified font
|
\brief Returns a copy of the specified font
|
||||||
\param The font to copy from.
|
\param The font to copy from.
|
||||||
\return A copy of the specified font
|
\return A copy of the specified font
|
||||||
@@ -183,7 +183,7 @@ ServerFont::operator=(const ServerFont& font)
|
|||||||
fSpacing = font.fSpacing;
|
fSpacing = font.fSpacing;
|
||||||
fEncoding = font.fEncoding;
|
fEncoding = font.fEncoding;
|
||||||
fBounds = font.fBounds;
|
fBounds = font.fBounds;
|
||||||
|
|
||||||
SetStyle(font.fStyle);
|
SetStyle(font.fStyle);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -191,7 +191,7 @@ ServerFont::operator=(const ServerFont& font)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief Returns the number of strikes in the font
|
\brief Returns the number of strikes in the font
|
||||||
\return The number of strikes in the font
|
\return The number of strikes in the font
|
||||||
*/
|
*/
|
||||||
@@ -202,7 +202,7 @@ ServerFont::CountTuned()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief Returns the file format of the font.
|
\brief Returns the file format of the font.
|
||||||
\return Mostly B_TRUETYPE_WINDOWS :)
|
\return Mostly B_TRUETYPE_WINDOWS :)
|
||||||
*/
|
*/
|
||||||
@@ -287,7 +287,7 @@ ServerFont::SetFamilyAndStyle(uint32 fontID)
|
|||||||
{
|
{
|
||||||
uint16 style = fontID & 0xFFFF;
|
uint16 style = fontID & 0xFFFF;
|
||||||
uint16 family = (fontID & 0xFFFF0000) >> 16;
|
uint16 family = (fontID & 0xFFFF0000) >> 16;
|
||||||
|
|
||||||
return SetFamilyAndStyle(family, style);
|
return SetFamilyAndStyle(family, style);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -363,7 +363,7 @@ ServerFont::GetTransformedFace(bool rotate, bool shear) const
|
|||||||
rmatrix.yy = (FT_Fixed)( rotationAngle.Cosine() * 0x10000);
|
rmatrix.yy = (FT_Fixed)( rotationAngle.Cosine() * 0x10000);
|
||||||
|
|
||||||
Angle shearAngle(fShear);
|
Angle shearAngle(fShear);
|
||||||
smatrix.xx = (FT_Fixed)(0x10000);
|
smatrix.xx = (FT_Fixed)(0x10000);
|
||||||
smatrix.xy = (FT_Fixed)(-shearAngle.Cosine() * 0x10000);
|
smatrix.xy = (FT_Fixed)(-shearAngle.Cosine() * 0x10000);
|
||||||
smatrix.yx = (FT_Fixed)(0);
|
smatrix.yx = (FT_Fixed)(0);
|
||||||
smatrix.yy = (FT_Fixed)(0x10000);
|
smatrix.yy = (FT_Fixed)(0x10000);
|
||||||
@@ -515,7 +515,7 @@ ServerFont::GetEdges(const char* string, int32 numBytes,
|
|||||||
// FT_Load_Char(face, UTF8ToCharCode(&string), FT_LOAD_NO_BITMAP);
|
// FT_Load_Char(face, UTF8ToCharCode(&string), FT_LOAD_NO_BITMAP);
|
||||||
// edgeArray[i].left = float(face->glyph->metrics.horiBearingX)
|
// edgeArray[i].left = float(face->glyph->metrics.horiBearingX)
|
||||||
// / 64 / fSize;
|
// / 64 / fSize;
|
||||||
// edgeArray[i].right = float(face->glyph->metrics.horiBearingX
|
// edgeArray[i].right = float(face->glyph->metrics.horiBearingX
|
||||||
// + face->glyph->metrics.width - face->glyph->metrics.horiAdvance)
|
// + face->glyph->metrics.width - face->glyph->metrics.horiAdvance)
|
||||||
// / 64 / fSize;
|
// / 64 / fSize;
|
||||||
// }
|
// }
|
||||||
@@ -819,7 +819,7 @@ ServerFont::StringWidth(const char *string, int32 numBytes,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief Returns a BRect which encloses the entire font
|
\brief Returns a BRect which encloses the entire font
|
||||||
\return A BRect which encloses the entire font
|
\return A BRect which encloses the entire font
|
||||||
*/
|
*/
|
||||||
@@ -831,7 +831,7 @@ ServerFont::BoundingBox()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief Obtains the height values for characters in the font in its current state
|
\brief Obtains the height values for characters in the font in its current state
|
||||||
\param fh pointer to a font_height object to receive the values for the font
|
\param fh pointer to a font_height object to receive the values for the font
|
||||||
*/
|
*/
|
||||||
@@ -849,18 +849,18 @@ ServerFont::TruncateString(BString* inOut, uint32 mode, float width) const
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
// the width of the "…" glyph
|
// the width of the "…" glyph
|
||||||
float ellipsisWidth = StringWidth(B_UTF8_ELLIPSIS, 1);
|
float ellipsisWidth = StringWidth(B_UTF8_ELLIPSIS, strlen(B_UTF8_ELLIPSIS));
|
||||||
const char *string = inOut->String();
|
const char* string = inOut->String();
|
||||||
int32 length = inOut->Length();
|
int32 length = inOut->Length();
|
||||||
|
|
||||||
// temporary array to hold result
|
// temporary array to hold result
|
||||||
char *result = new char[length + 3];
|
char* result = new char[length + 3];
|
||||||
|
|
||||||
// count the individual glyphs
|
// count the individual glyphs
|
||||||
int32 numChars = UTF8CountChars(string, -1);
|
int32 numChars = UTF8CountChars(string, -1);
|
||||||
|
|
||||||
// get the escapement of each glyph in font units
|
// get the escapement of each glyph in font units
|
||||||
float *escapementArray = new float[numChars];
|
float* escapementArray = new float[numChars];
|
||||||
static escapement_delta delta = (escapement_delta){ 0.0, 0.0 };
|
static escapement_delta delta = (escapement_delta){ 0.0, 0.0 };
|
||||||
if (GetEscapements(string, length, numChars, delta, escapementArray)
|
if (GetEscapements(string, length, numChars, delta, escapementArray)
|
||||||
== B_OK) {
|
== B_OK) {
|
||||||
|
|||||||
Reference in New Issue
Block a user