Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
ImportedProjects
SVG
Commits
f8a16fd4
Commit
f8a16fd4
authored
11 years ago
by
Tebjan Halm
Browse files
Options
Download
Plain Diff
Merge pull request #17 from samjudson/master
Added support for multiple font-family strings
parents
cbf311e2
57ea0472
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
Source/Text/SvgText.cs
+24
-3
Source/Text/SvgText.cs
with
24 additions
and
3 deletions
+24
-3
Source/Text/SvgText.cs
+
24
-
3
View file @
f8a16fd4
...
...
@@ -27,6 +27,8 @@ namespace Svg
private
GraphicsPath
_path
;
private
SvgTextAnchor
_textAnchor
=
SvgTextAnchor
.
Start
;
private
static
readonly
SvgRenderer
_stringMeasure
;
private
const
string
DefaultFontFamily
=
"Times New Roman"
;
/// <summary>
/// Initializes the <see cref="SvgText"/> class.
/// </summary>
...
...
@@ -42,7 +44,7 @@ namespace Svg
/// </summary>
public
SvgText
()
{
this
.
_fontFamily
=
"Times New Roman"
;
this
.
_fontFamily
=
DefaultFontFamily
;
this
.
_fontSize
=
new
SvgUnit
(
0.0f
);
}
...
...
@@ -134,7 +136,11 @@ namespace Svg
public
virtual
string
FontFamily
{
get
{
return
this
.
_fontFamily
;
}
set
{
this
.
_fontFamily
=
value
;
this
.
IsPathDirty
=
true
;
}
set
{
this
.
_fontFamily
=
ValidateFontFamily
(
value
);
this
.
IsPathDirty
=
true
;
}
}
/// <summary>
...
...
@@ -271,6 +277,21 @@ namespace Svg
}
}
private
static
string
ValidateFontFamily
(
string
fontFamilyList
)
{
// Split font family list on "," and then trim start and end spaces and quotes.
var
fontParts
=
fontFamilyList
.
Split
(
new
[]
{
','
}).
Select
(
fontName
=>
fontName
.
Trim
(
new
[]
{
'"'
,
' '
}));
var
families
=
System
.
Drawing
.
FontFamily
.
Families
;
// Find a the first font that exists in the list of installed font families.
foreach
(
var
f
in
fontParts
.
Where
(
f
=>
families
.
Any
(
family
=>
family
.
Name
==
f
)))
{
return
f
;
}
// No valid font family found from the list requested.
return
DefaultFontFamily
;
}
private
void
DrawString
(
GraphicsPath
path
,
SvgUnit
x
,
SvgUnit
y
,
SvgUnit
dx
,
SvgUnit
dy
,
Font
font
,
float
fontSize
,
string
text
)
{
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Projects
Groups
Snippets
Help