Web Font is downloaded even when all the characters in the document are outside its...
authormmaxfield@apple.com <mmaxfield@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 10 May 2016 00:13:01 +0000 (00:13 +0000)
committermmaxfield@apple.com <mmaxfield@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 10 May 2016 00:13:01 +0000 (00:13 +0000)
https://bugs.webkit.org/show_bug.cgi?id=42154
<rdar://problem/17779042>

Reviewed by Darin Adler.

Source/WebCore:

Fonts are requested in two stages:
- For a given font family, all the relevant @font-face rules are consulted. We build up a
mapping of unicode-range -> Font object. This result is cached.
- Then, when we have the mapping, we look up the character we are trying to render to
find the appropriate Font object.

However, we are not supposed to create any Font objects (because that causes a download to
be triggered) until we consult with the character we're trying to render. Therefore, this
patch swaps out the Font objects with a FontAccessor. This FontAccessor is essentially a
lazily-created Font. When step 2 starts looking up the appropriate character, the
FontAccessor will be asked to start the download.

Test: fast/text/unicode-range-download.html

* css/CSSFontFace.cpp:
(WebCore::CSSFontFace::removeClient):
as a client from all its CSSFontFaces.
* css/CSSFontFaceSet.cpp:
(WebCore::CSSFontFaceSet::clear): Clearing the CSSFontFaceSet needs to remove itself as a
client from all its CSSFontFaces.
* css/CSSSegmentedFontFace.cpp:
(WebCore::CSSFontAccessor::create): The lazy Font object.
(WebCore::CSSFontAccessor::CSSFontAccessor): Ditto.
(WebCore::appendFontWithInvalidUnicodeRangeIfLoading): Appends a FontAccessor.
(WebCore::CSSSegmentedFontFace::fontRanges): Create the FontAccessor and use it instead.
* platform/graphics/FontCascadeFonts.cpp:
(WebCore::FontCascadeFonts::determinePitch): Use the fontForFirstRange() convenience
function.
(WebCore::glyphPageFromFontRanges): font() may now return nullptr. Update this function to
handle that.
* platform/graphics/FontRanges.cpp:
(WebCore::FontRanges::Range::font): Trigger the lazy initialization.
(WebCore::TrivialFontAccessor::create): Used in the case where there is only one font in
the Ranges object and it has a full unicode-range.
(WebCore::TrivialFontAccessor::TrivialFontAccessor):
(WebCore::FontRanges::FontRanges): Use TrivialFontAccessor.
(WebCore::FontRanges::glyphDataForCharacter): font() may now return nullptr. Update this
function to handle that. This is where the magic happens: this is where we trigger
downloads only if the character falls within the unicode-range.
(WebCore::FontRanges::fontForFirstRange): Add ASSERT.
(WebCore::FontRanges::isLoading): Update to use the new FontAccessor.
* platform/graphics/FontRanges.h: Ditto.
(WebCore::FontRanges::Range::Range):
(WebCore::FontRanges::Range::fontAccessor):
(WebCore::FontRanges::appendRange):
(WebCore::FontRanges::Range::font): Deleted.
* platform/graphics/FontSelector.h: The virtual base class of FontAccessor. This is
necessary because it must be shared between platform code and non-platform code.
(WebCore::FontAccessor::~FontAccessor):

LayoutTests:

* fast/text/unicode-range-download-expected.txt: Added.
* fast/text/unicode-range-download.html: Added.
* fast/text/resources/unicode-range-download-Ahem.otf: Added.
* fast/text/resources/unicode-range-download-Ahem.ttf: Added.
* fast/text/resources/unicode-range-download-Ahem.woff: Added.
* imported/blink/svg/custom/resources/graffiti.svg: Added.
imported/blink/svg/custom/svg-fonts-unloaded-segment.html requires this font.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@200601 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 files changed:
LayoutTests/ChangeLog
LayoutTests/fast/text/resources/unicode-range-download-Ahem.otf [new file with mode: 0644]
LayoutTests/fast/text/resources/unicode-range-download-Ahem.ttf [new file with mode: 0644]
LayoutTests/fast/text/resources/unicode-range-download-Ahem.woff [new file with mode: 0644]
LayoutTests/fast/text/unicode-range-download-expected.txt [new file with mode: 0644]
LayoutTests/fast/text/unicode-range-download.html [new file with mode: 0644]
LayoutTests/imported/blink/svg/custom/resources/graffiti.svg [new file with mode: 0644]
Source/WebCore/ChangeLog
Source/WebCore/css/CSSFontFaceSet.cpp
Source/WebCore/css/CSSSegmentedFontFace.cpp
Source/WebCore/platform/graphics/FontCascadeFonts.cpp
Source/WebCore/platform/graphics/FontRanges.cpp
Source/WebCore/platform/graphics/FontRanges.h
Source/WebCore/platform/graphics/FontSelector.h

index d36f8ff..ec6c631 100644 (file)
@@ -1,3 +1,19 @@
+2016-05-09  Myles C. Maxfield  <mmaxfield@apple.com>
+
+        Web Font is downloaded even when all the characters in the document are outside its unicode-range
+        https://bugs.webkit.org/show_bug.cgi?id=42154
+        <rdar://problem/17779042>
+
+        Reviewed by Darin Adler.
+
+        * fast/text/unicode-range-download-expected.txt: Added.
+        * fast/text/unicode-range-download.html: Added.
+        * fast/text/resources/unicode-range-download-Ahem.otf: Added.
+        * fast/text/resources/unicode-range-download-Ahem.ttf: Added.
+        * fast/text/resources/unicode-range-download-Ahem.woff: Added.
+        * imported/blink/svg/custom/resources/graffiti.svg: Added.
+        imported/blink/svg/custom/svg-fonts-unloaded-segment.html requires this font.
+
 2016-05-09  Simon Fraser  <simon.fraser@apple.com>
 
         Remove testRunner.setTextAutosizingEnabled and migrate the one test that uses it
diff --git a/LayoutTests/fast/text/resources/unicode-range-download-Ahem.otf b/LayoutTests/fast/text/resources/unicode-range-download-Ahem.otf
new file mode 100644 (file)
index 0000000..6dd4ba2
Binary files /dev/null and b/LayoutTests/fast/text/resources/unicode-range-download-Ahem.otf differ
diff --git a/LayoutTests/fast/text/resources/unicode-range-download-Ahem.ttf b/LayoutTests/fast/text/resources/unicode-range-download-Ahem.ttf
new file mode 100644 (file)
index 0000000..ac81cb0
Binary files /dev/null and b/LayoutTests/fast/text/resources/unicode-range-download-Ahem.ttf differ
diff --git a/LayoutTests/fast/text/resources/unicode-range-download-Ahem.woff b/LayoutTests/fast/text/resources/unicode-range-download-Ahem.woff
new file mode 100644 (file)
index 0000000..0bc8093
Binary files /dev/null and b/LayoutTests/fast/text/resources/unicode-range-download-Ahem.woff differ
diff --git a/LayoutTests/fast/text/unicode-range-download-expected.txt b/LayoutTests/fast/text/unicode-range-download-expected.txt
new file mode 100644 (file)
index 0000000..cff857b
--- /dev/null
@@ -0,0 +1,6 @@
+unicode-range-download.html - didFinishLoading
+Ahem.otf - willSendRequest <NSURLRequest URL Ahem.otf, main document URL unicode-range-download.html, http method GET> redirectResponse (null)
+Ahem.otf - didReceiveResponse <NSURLResponse Ahem.otf, http status code 0>
+Ahem.otf - didFinishLoading
+This test makes sure that fonts with unicode-ranges which are never applicable are not downloaded. Note that, currently, we always download the first font, regardless of unicode-range. We use this font's metrics for things like baseline location. This test passes iff 2 or fewer fonts are downloaded.
+A
diff --git a/LayoutTests/fast/text/unicode-range-download.html b/LayoutTests/fast/text/unicode-range-download.html
new file mode 100644 (file)
index 0000000..a63956a
--- /dev/null
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html>
+<head>
+<script>
+if (window.testRunner) {
+    testRunner.dumpResourceLoadCallbacks();
+    testRunner.dumpAsText();
+}
+if (window.internals) {
+       internals.invalidateFontCache();
+}
+</script>
+<style>
+@font-face {
+       font-family: WebFont;
+       src: url("../../resources/Ahem.ttf") format("truetype");
+       unicode-range: U+42;
+}
+@font-face {
+       font-family: WebFont;
+       src: url("../../resources/Ahem.otf") format("opentype");
+       unicode-range: U+41;
+}
+</style>
+</head>
+<body>
+This test makes sure that fonts with unicode-ranges which are never applicable are not downloaded.
+Note that, currently, we always download the first font, regardless of unicode-range. We use this font's metrics for things like baseline location.
+This test passes iff 2 or fewer fonts are downloaded.
+<div style="font: 100px WebFont">A</div>
+</body>
+</html>
diff --git a/LayoutTests/imported/blink/svg/custom/resources/graffiti.svg b/LayoutTests/imported/blink/svg/custom/resources/graffiti.svg
new file mode 100644 (file)
index 0000000..e41c0b3
--- /dev/null
@@ -0,0 +1,94 @@
+<?xml version="1.0" standalone="yes"?>\r
+<svg  version="1.1" viewBox="0 0 160 160" xmlns = 'http://www.w3.org/2000/svg' xmlns:xlink="http://www.w3.org/1999/xlink">\r
+  <defs>\r
+    <font id="SVGraffiti" horiz-adv-x="1000" horiz-origin-x="0">\r
+      <font-face font-family="SVGraffiti" font-weight="bold" font-style="normal" units-per-em="1000" cap-height="600" x-height="400" ascent="1000" descent="0" alphabetic="0" mathematical="500" ideographic="400" hanging="500">\r
+        <font-face-src>\r
+          <font-face-name name="SVGraffiti"/>\r
+        </font-face-src>\r
+      </font-face>\r
+    <missing-glyph   horiz-adv-x="1000" d="M0 0h100v100h-100z"/>\r
+    \r
+  <glyph unicode=" " horiz-adv-x="350" d="M0 0"/>  \r
+    <glyph unicode="A" horiz-adv-x="400" d="M 225.51611,974.91385 C 204.97311,967.28971 185.36411,957.57168 166.07811,947.42582 C 152.07111,911.20717 150.75011,872.0223 141.06911,834.71583 C 127.94011,779.33001 106.37211,725.96797 88.516105,671.74681 C 80.045105,647.44538 71.548105,623.15054 62.922105,598.89688 C 18.313105,618.80867 -26.482895,642.35325 -57.358895,679.31094 C -78.303895,669.39865 -99.180895,659.36263 -120.10889,649.41941 C -82.919895,605.16219 -28.086895,578.48722 25.657105,555.47892 C 32.393105,552.66089 38.990105,549.64223 45.797105,547.02587 C 25.847105,482.7003 13.250105,416.42131 4.9841053,349.91822 C 26.999105,360.29555 48.903105,370.87644 70.891105,381.30353 C 74.310105,431.10778 84.325105,480.30711 96.641105,528.76838 C 122.33111,520.51031 148.64911,514.0716 175.29711,509.25143 C 206.09411,427.60328 245.79611,348.9035 294.04111,275.09141 C 302.84211,262.18392 311.56311,248.9191 322.17211,237.3554 C 330.06711,232.9385 336.99911,241.4047 343.46911,244.3906 C 357.20711,252.4639 370.91911,260.57559 384.67211,268.62452 C 351.93711,299.05808 330.42511,338.55237 307.49111,375.90103 C 284.58811,416.33779 264.98011,458.46261 247.42211,501.22124 C 276.86411,500.11749 306.98511,499.4873 335.73411,506.05738 C 358.48511,522.34084 381.89411,537.85446 403.35911,555.6421 C 346.59411,543.93399 287.46911,540.3311 229.89111,548.60885 C 210.09411,617.30818 200.49211,688.10064 195.48411,758.99159 C 194.65011,805.51174 203.23511,851.49166 213.51011,896.81518 C 216.12311,914.67034 220.15211,932.26671 226.62011,949.14569 C 227.13311,956.88328 230.39511,964.48017 230.48411,972.0715 C 229.77611,973.9677 227.65911,975.21299 225.51611,974.91385 z M 142.10911,663.92492 C 146.68311,630.20442 152.32011,595.95795 159.79711,563.08522 C 143.47711,567.59028 127.42511,572.73869 111.60911,578.61757 C 121.13311,607.68659 131.59311,636.4772 141.92211,665.30244 L 142.04911,664.37218 L 142.10911,663.92492 z "/>\r
+    <glyph unicode="B" horiz-adv-x="450" d="M 119.35911,946.28265 C 95.430109,946.71311 71.963109,937.27908 55.172109,921.66613 C 44.917109,914.26245 32.055109,908.31318 26.266109,896.93238 C 25.569109,888.82906 37.046109,885.91257 43.172109,889.81097 C 70.548109,899.86572 101.15011,899.15956 129.57811,893.47479 C 107.91011,884.74883 86.277109,875.94408 64.609109,867.21719 C 61.787109,805.74805 80.442109,745.8093 86.573109,685.14857 C 87.320109,679.35502 88.057109,673.55957 88.797109,667.76412 C 67.451109,659.50046 43.335109,652.26932 28.984109,634.32693 C 27.499109,631.20969 28.520109,627.15945 25.109109,625.03728 C 20.668109,619.34314 25.466109,609.44211 33.547109,610.97069 C 37.679109,611.47432 41.672109,615.41766 45.739109,612.4552 C 61.803109,608.86355 78.578109,609.96825 94.984109,610.062 C 99.313109,561.83333 96.297109,513.30632 90.203109,465.35151 C 89.587109,443.99646 93.131109,422.80846 94.297109,401.52474 C 49.795109,404.13834 3.6201092,401.44594 -38.921891,415.53229 C -49.401891,419.38559 -59.905891,424.80218 -66.421891,433.67258 C -63.984891,438.15229 -63.583891,445.3647 -69.827891,447.21216 C -77.685891,449.80041 -83.662891,442.57108 -90.743891,440.82218 C -104.42889,434.22209 -118.96089,428.44538 -132.07789,421.36427 C -137.21889,411.71836 -132.78789,400.30095 -124.92189,393.20205 C -105.09289,371.40628 -72.699891,365.7356 -43.827891,362.16733 C 3.5291092,357.04247 51.792109,361.71166 98.703109,352.99498 C 123.83911,351.65682 149.05211,352.86463 174.19811,353.43391 C 239.85511,356.31663 307.08711,366.44271 364.72011,397.48954 C 397.31311,415.63446 427.42111,440.86712 442.10911,474.20214 C 459.92411,524.34676 444.22811,585.31794 398.82711,617.97215 C 361.35211,646.03778 312.24811,653.94509 265.65211,658.76431 C 231.65411,662.49102 197.48811,664.95451 163.26611,665.80039 C 207.75811,687.4817 254.08211,708.8358 289.94811,742.47552 C 318.38411,771.24267 337.60911,811.3615 330.89111,851.24505 C 324.43611,879.95677 298.02011,900.33833 270.14111,910.73542 C 237.37211,923.65048 202.59111,931.22765 168.56811,940.46755 C 152.46611,943.96639 135.98111,946.6474 119.35911,946.28265 z M 136.76611,891.97998 C 157.24711,886.82315 177.51911,880.84957 197.90611,875.34113 C 220.73511,868.43908 244.91911,858.91133 259.17211,840.25616 C 271.53511,821.979 267.12411,798.3368 259.32611,779.09465 C 246.25211,746.85023 217.76311,721.71236 184.59911,707.56509 C 173.25911,702.20195 161.61611,697.15296 149.98411,692.20528 C 144.59811,739.03864 136.06211,785.64782 130.47911,832.42859 C 128.88611,852.44822 130.00811,872.93005 136.07811,892.12631 L 136.76611,891.97998 z M 198.82811,614.8972 C 232.22111,614.26416 265.55611,608.90102 297.43311,599.94812 C 329.57911,589.86897 361.03611,570.42231 374.51711,540.24955 C 388.16311,510.14509 387.96311,473.01212 369.49711,444.64075 C 353.83311,423.19574 325.69511,414.5711 300.07811,408.35271 C 252.33111,398.42445 202.99511,396.09974 154.04711,396.60706 C 140.41411,396.60894 126.88611,397.57865 113.48411,399.88368 C 129.21311,407.83877 144.86411,415.95051 160.64111,423.82594 C 155.93311,456.89743 153.48611,490.69758 159.32811,523.72781 C 161.60611,553.45143 160.94911,583.31959 158.64111,613.02163 C 172.02111,613.88909 185.41011,614.82399 198.82811,614.8972 z "/>\r
+    <glyph unicode="C" horiz-adv-x="400" d="M 194.82811,943.36576 C 150.00511,944.88217 108.48011,923.72972 75.305108,897.16639 C 52.422108,877.38031 36.717108,851.28021 23.516108,825.03008 C 4.1581084,783.58899 5.7401084,736.63 11.331108,692.5772 C 17.194108,653.3773 22.619108,613.64765 38.021108,576.57937 C 52.102108,541.787 68.468108,507.13254 93.727108,478.19663 C 130.34211,435.59457 177.05611,400.30338 229.51601,376.2476 C 260.491,362.82342 295.956,353.35376 330.108,360.65897 C 375.365,371.78095 418.557,393.20817 450.766,425.0409 C 454.774,432.29826 443.743,440.16527 437.016,435.41549 C 415.757,427.08429 392.895,421.43329 373.932,409.08751 C 371.286,407.01216 368.008,403.67934 364.609,406.37354 C 357.62,407.82711 350.711,404.6987 343.673,406.09315 C 294.342,407.90496 250.955,434.15792 213.29711,461.84848 C 171.12711,493.08942 135.66111,533.71376 116.00911,581.16881 C 100.08111,614.09774 88.872108,649.21458 84.516108,685.21467 C 76.001108,733.16021 69.911108,784.24446 87.952108,830.88371 C 97.235108,851.97323 110.65411,871.44136 125.70311,889.29757 C 132.23211,892.73728 140.36411,892.20839 147.48411,893.92731 C 167.00311,895.97258 186.76711,893.82136 206.14511,891.71886 C 211.94811,889.85172 218.66501,889.99153 223.25701,894.2846 C 243.283,905.66352 263.288,917.07439 283.297,928.47865 C 256.965,943.70991 224.83301,943.58143 194.82811,943.36576 z "/>\r
+    <glyph unicode="D" horiz-adv-x="450" d="M 67.702997,980.46599 C 43.527997,967.90923 19.356997,955.34397 -4.7970025,942.75059 C -6.8480025,940.7016 -1.8370025,936.60537 -6.0780025,936.83051 C -15.916003,934.43161 -24.869003,929.32548 -34.797003,927.36459 C -43.510003,921.62353 -54.045003,919.56228 -63.859003,915.90688 C -78.124003,911.23107 -93.850003,901.64052 -95.484003,886.30794 C -95.550003,881.38836 -99.260003,875.55914 -94.609003,871.36265 C -88.714003,864.97077 -79.625003,869.83218 -72.953003,872.03598 C -61.482003,873.32165 -50.865003,879.54373 -39.700003,882.75754 C -26.647003,887.67798 -12.446003,889.29378 1.6089975,888.30072 C 7.8029975,889.4879 5.8409975,881.79068 7.6699975,878.22903 C 18.103997,835.01549 28.983997,791.89107 35.409997,747.93201 C 52.013997,656.72052 66.977997,565.24635 80.358997,473.57058 C 75.963997,478.2304 72.046997,483.27561 67.983997,488.19425 C 44.914997,474.33956 21.907997,460.39491 -1.1090025,446.46332 C 19.504997,414.05486 56.105997,395.3557 90.171997,377.2735 C 93.508997,375.94092 99.280997,374.95257 98.203997,370.33494 C 101.631,344.54522 101.916,318.37767 98.733997,292.55134 C 124.151,305.58643 149.678,318.38987 175.266,331.02909 C 175.364,338.96082 175.257,347.3989 175.453,355.03048 C 230.052,347.90064 287.295,359.73816 333.061,388.6037 C 378.642,415.33588 417.48,454.42502 435.261,502.58624 C 447.648,533.66873 450.187,567.34232 448.645,600.31627 C 447.459,645.35939 440.984,690.89669 423.197,732.8048 C 394.989,782.96438 344.535,817.38915 293.321,845.69675 C 237.585,876.81112 181.078,907.65911 120.067,928.65773 C 104.947,933.48351 89.484997,937.3997 73.733997,939.90727 C 71.800997,953.79377 70.759997,967.90356 70.608997,981.96073 C 69.640997,981.46281 68.671997,980.96489 67.702997,980.46599 z M 90.327997,869.42798 C 150.083,846.77705 206.033,815.92621 260.218,783.42109 C 297.761,759.50512 333.934,730.7305 353.891,691.80823 C 367.224,661.18519 371.568,627.84836 374.953,595.10032 C 378.279,551.06445 376.872,504.45433 353.54,465.06778 C 344.224,448.72899 332.32,433.64777 318.391,420.4983 C 275.086,407.05255 227.271,402.89069 183.266,415.51685 C 178.154,417.38863 171.285,417.9616 167.597,421.27664 C 153.304,498.49665 139.294,575.76348 126.732,653.24979 C 114.839,722.29051 104.04,791.59847 90.421997,860.31379 C 90.317997,863.02114 87.056997,869.1945 88.980997,869.91286 L 89.913997,869.57715 L 90.327997,869.42798 z "/>\r
+    <glyph unicode="E" horiz-adv-x="450" d="M 513.234,995.8811 C 436.782,991.78587 363.147,965.01621 299.787,925.44116 C 247.255,895.06019 181.777,884.43797 121.297,897.06327 C 122.264,911.18889 124.375,925.1411 127.328,939.02858 C 110.751,929.95 94.120997,920.96609 77.483997,912.09664 C 54.065997,923.95761 31.670997,940.58717 20.421997,963.61608 C 17.810997,970.50593 17.627997,977.92465 17.765997,985.21391 C -3.6860034,973.42706 -25.279003,962.09781 -46.734003,950.37004 C -42.595003,922.28278 -20.179003,900.78432 2.2969966,883.70001 C 18.722997,871.04094 37.925997,862.1378 57.921997,855.68405 C 57.944997,759.90365 44.005997,663.34303 60.890997,568.16844 C 69.408997,513.0959 81.253997,457.31059 109.016,407.72116 C 122.155,386.35684 140.202,365.79612 164.922,356.17367 C 178.514,353.89673 192.032,358.43557 205.422,360.12913 C 235.226,366.18434 266.393,373.93509 296.707,366.94206 C 307.902,365.23062 319.128,363.31948 330.359,362.1219 C 352.222,379.30752 374.315,396.23252 396.266,413.31871 C 355.548,406.55734 315.004,424.34695 274.453,415.75126 C 252.169,412.75605 230.467,406.75713 208.141,404.00002 C 178.77,417.56685 162.961,446.90602 152.455,474.60027 C 132.407,526.40382 120.138,580.92684 116.078,635.98167 C 160.806,624.35048 207.727,620.44175 254.078,622.50112 C 272.553,623.68745 291.282,625.90621 308.734,631.58531 C 331.087,649.63468 353.849,667.49269 374.016,687.76358 C 323.515,672.31474 269.552,663.61783 216.687,671.58323 C 185.239,675.38686 152.61,681.41861 125.797,698.22631 C 121.512,700.18248 118.891,705.71069 114.328,706.02106 C 112.616,708.79878 114.31,715.59479 113.926,719.88039 C 115.097,761.46781 118,802.98675 119.859,844.54798 C 182.648,840.0485 246.016,858.01159 297.124,891.82953 C 352.297,923.28058 415.271,945.51053 480.484,947.31388 C 488.802,947.61488 497.367,943.75492 505.391,946.50168 C 513.399,950.64575 519.325,957.42586 527.135,961.93086 C 538.929,970.51901 550.777,979.0396 562.578,987.61652 C 546.574,992.23029 530.123,996.184 513.234,995.8811 z "/>\r
+    <glyph unicode="F" horiz-adv-x="300" d="M 534.641,1003.0098 C 515.353,1001.0902 494.286,1001.0094 478.109,989.79373 C 437.705,968.65916 404.544,937.00275 366.333,912.75759 C 321.009,887.89254 269.961,868.20021 216.582,870.33743 C 194.526,872.01879 173.251,878.06369 152.234,884.35237 C 159.915,902.49832 165.592,921.52195 172.524,940.02426 C 179.98,961.18509 187.448,982.34308 194.891,1003.5087 C 171.988,987.14548 144.456,976.84126 122.922,958.99355 C 115.018,941.27706 109.482,922.77857 103.359,904.45638 C 68.855996,921.9955 33.864996,941.37177 9.5049957,970.85909 C 4.2709957,978.29939 0.7409957,986.70565 -1.3910043,995.33226 C -22.188004,983.35601 -42.934004,971.40963 -63.672004,959.34522 C -51.772004,924.95231 -19.685004,901.72935 11.601996,882.86606 C 34.623996,868.91764 58.630996,856.42087 83.671996,846.04999 C 75.621996,816.98183 72.798996,786.95532 67.452996,757.40141 C 58.873996,757.70242 53.076996,750.61847 45.245996,748.45221 C 33.226996,742.74218 21.042996,737.33864 9.0469957,731.58358 C 1.9649957,711.49178 13.812996,691.01931 27.265996,675.99144 C 35.854996,666.81719 45.908996,658.78048 56.952996,652.28265 C 55.981996,605.99983 65.098996,559.943 81.424996,516.37973 C 93.101996,482.69206 104.559,448.50557 122.891,417.42961 C 138.243,392.75497 157.519,370.40222 173.016,345.7782 C 192.417,359.39744 211.87,372.71292 231.359,386.21959 C 203.167,424.48546 171.414,462.15583 157.18,507.34521 C 141.522,547.706 125.482,588.75423 121.203,631.62259 C 153.426,632.566 182.082,648.7032 207.922,665.3534 C 212.116,668.65804 215.34,674.20972 213.391,679.27365 C 221.066,685.47142 227.197,693.88132 227.922,703.56762 C 213.374,706.36408 202.584,695.07608 189.859,691.08306 C 177.541,687.90028 165.936,680.8501 153.141,680.44588 C 148.26,685.57642 139.927,683.53588 133.906,686.76456 C 129.016,688.23505 124.233,690.0234 119.609,692.10896 C 121.916,737.80472 131.614,783.05511 137.953,828.11507 C 172.564,817.85401 210.555,817.90368 245.423,826.93631 C 308.584,841.87602 363.465,876.52858 416.31,910.96452 C 432.955,922.1812 448.157,935.70111 464.916,946.49956 C 474.486,948.66952 483.2,953.31814 489.547,960.45832 C 506.456,974.92534 523.929,988.93848 540.672,1003.5959 C 538.662,1003.4008 536.651,1003.2058 534.641,1003.0098 z "/>\r
+    <glyph unicode="G" horiz-adv-x="500" d="M 458.703,944.47896 C 405.09,942.54712 351.004,939.86499 299.108,926.26169 C 220.101,907.07773 144.287,871.39264 86.198995,817.18747 C 57.744995,790.07084 36.378995,756.89152 21.358995,721.64063 C 4.2259951,684.87336 -8.6710049,643.81861 0.34699509,603.55998 C 10.958995,556.40319 44.716995,517.19486 82.525995,486.10962 C 128.206,449.57204 177.959,417.6062 228.609,387.38368 C 267.825,364.90994 310.819,345.11356 357.391,342.10709 C 392.154,339.75608 425.872,352.83045 453.797,371.148 C 499.128,400.99545 524.573,456.37465 512.797,507.74118 C 502.557,555.64642 493.658,603.86761 485.441,652.12162 C 484.893,660.35813 483.21,669.50986 487.109,677.06736 C 501.166,685.692 514.217,695.59492 527.859,704.81978 C 514.01,707.18393 499.437,703.90078 485.891,706.63623 C 478.408,711.9759 470.118,704.07899 461.984,705.78665 C 426.165,706.02579 390.458,702.60575 354.678,701.64635 C 315.925,699.2541 277.012,701.52915 238.266,700.15996 C 226.137,695.53305 217.46,685.7305 206.252,679.61523 C 193.653,671.02899 181.047,662.45118 168.453,653.85746 C 229.756,655.95155 291.173,653.46083 352.422,657.19501 C 374.16,657.73043 395.809,660.43504 417.578,660.04114 C 414.413,630.28744 425.659,601.45843 429.328,572.27117 C 435.345,537.77431 443.573,503.5953 448.634,468.97083 C 450.348,445.06604 442.893,420.95689 428.706,401.18483 C 422.947,395.04059 416.414,387.39399 406.641,388.40959 C 364.7,387.92571 325.005,404.01411 289.435,423.42227 C 229.922,458.3468 170.172,494.58328 120.023,540.91397 C 89.911995,570.26904 63.948995,607.46955 63.390995,649.34493 C 63.258995,690.48218 82.734995,728.57635 101.672,764.69099 C 124.898,804.71322 159.642,838.83879 202.16,860.82111 C 245.791,880.81822 294.312,889.12313 342.186,894.25934 C 373.565,897.01069 405.099,899.75369 436.64,899.13475 C 455.866,898.14356 475.964,895.25336 492.391,885.51645 C 493.54,880.50218 491.71,875.08181 490.609,870.13129 C 485.454,853.78967 471.761,841.5977 461.797,827.81434 C 459.066,822.00669 465.445,814.60111 472.109,817.23533 C 481.409,820.15458 490.2,824.88847 499.669,827.76742 C 510.344,832.12992 522.243,835.29493 531.345,841.94941 C 547.69,861.33781 562.81,884.98756 558.953,910.74911 C 557.937,920.56756 549.448,928.07538 539.859,931.14562 C 515.004,943.04504 486.25,944.7696 458.703,944.47896 z "/>\r
+    <glyph unicode="H" horiz-adv-x="500" d="M 378.04699,968.19492 C 355.39099,966.41315 336.18899,952.70853 320.14099,938.50882 C 295.15099,913.37086 288.55599,877.3632 288.26599,843.99914 C 287.83199,804.51421 289.68899,765.0133 287.49199,725.54899 C 286.87299,705.80417 286.09999,686.06406 285.45299,666.32019 C 248.28199,668.89349 211.31799,674.19846 175.01599,681.96974 C 175.95699,715.79619 170.94999,749.36563 165.35699,782.65468 C 161.85499,827.17355 160.85699,871.84814 156.77799,916.32483 C 156.31299,932.71896 156.86899,949.1197 157.60899,965.49883 C 133.28899,954.676 108.96799,943.85404 84.765994,932.79397 C 84.125994,882.54529 93.149994,832.71956 93.265994,782.48686 C 94.157994,755.33457 100.56799,728.76178 102.64099,701.7211 C 48.881994,720.39311 -6.0830061,737.75222 -54.086006,767.69624 C -58.232006,769.46207 -62.203006,776.12686 -66.401006,771.17256 C -87.402006,757.76248 -108.38201,744.32231 -129.35901,730.88025 C -60.363006,694.27986 14.676994,668.73872 89.991994,646.20028 C 94.528994,645.02151 98.980994,643.68799 103.60899,642.64147 C 102.93499,599.21878 105.72999,555.71738 103.14499,512.34539 C 98.343994,474.66659 92.437994,436.8669 84.546994,399.67007 C 80.511994,383.82829 70.443994,369.77855 65.171994,354.36443 C 64.717994,350.89937 68.228994,350.4173 70.865994,352.57326 C 94.421994,362.03356 117.93599,371.58382 141.48399,381.06191 C 155.04299,404.00354 159.15299,430.32868 162.79699,456.02466 C 168.83199,495.07445 177.25199,534.09424 175.68199,573.74423 C 175.50499,591.84508 174.71299,609.94506 175.14099,628.04779 C 211.02199,622.13145 247.41299,618.93267 283.85899,618.08395 C 281.02399,507.67157 278.51099,396.05781 300.63199,287.09985 C 301.89999,281.63918 303.17599,276.28729 304.45299,270.8145 C 326.98099,281.42917 349.48999,292.08035 372.01599,302.6988 C 350.46399,376.79504 347.76899,454.21096 346.19899,530.6357 C 346.02599,560.18025 346.59999,589.7248 347.51599,619.25619 C 386.31299,622.31989 425.25399,627.05566 462.60899,637.68906 C 479.90999,649.79759 498.30599,660.64762 514.51599,673.99868 C 517.11299,682.05602 506.23499,688.29408 498.98399,684.72401 C 450.24099,672.24693 399.90599,664.97824 349.29699,664.50374 C 353.39399,738.39557 352.55099,812.69435 361.19899,886.25706 C 364.33399,905.59579 368.17199,925.61249 378.76599,942.43614 C 382.93699,946.60745 384.93799,952.77414 383.29699,958.26112 C 386.06599,962.17067 383.88799,968.81674 378.04699,968.19492 z "/>\r
+    <glyph unicode="I" horiz-adv-x="200" d="M 157.39099,961.33798 C 138.13199,954.45662 119.84699,944.91286 100.92199,937.07303 C 104.79899,881.12833 94.179993,825.44811 79.890993,771.43895 C 67.549993,718.89641 59.385993,665.57656 52.317993,612.2623 C 46.189993,581.00348 39.600993,548.02299 49.265993,516.86266 C 54.896993,494.43015 55.597993,471.34975 58.499993,448.57122 C 64.517993,421.1779 64.302993,392.98844 62.156993,365.17879 C 62.037993,359.69655 62.193993,354.21251 62.483993,348.73775 C 84.227993,358.42404 106.01699,368.01933 127.79699,377.63241 C 128.84199,402.45244 130.78899,427.54726 126.32799,452.12728 C 123.28399,471.69011 121.67899,491.43494 119.54699,511.06067 C 115.84199,536.05788 106.73999,560.757 110.55699,586.25131 C 113.52199,615.4273 120.97399,644.21782 123.05099,673.46326 C 130.66199,731.70551 145.02699,788.89747 158.16399,846.12406 C 164.57799,881.36369 168.13199,917.27949 167.32799,953.07338 C 166.67699,957.64966 162.71499,961.93714 157.39099,961.33798 z "/>\r
+    <glyph unicode="J" horiz-adv-x="500" d="M 63.983993,979.03836 C 44.628993,963.76119 25.047993,948.35729 5.6089925,933.02847 C 55.403993,900.14165 110.71099,873.59146 170.51599,861.43601 C 242.01599,848.78553 316.83899,862.24442 381.48399,892.14815 C 365.53499,830.09384 351.43899,767.70561 340.18799,704.70514 C 324.52299,618.28658 312.37099,531.35776 298.48399,444.68321 C 223.26799,458.98421 147.33599,473.56663 70.275993,473.09582 C 7.6999925,465.25321 -53.391007,431.95573 -82.919007,378.45862 C -102.70301,340.88955 -99.079007,294.29542 -76.137007,258.75658 C -57.813007,227.54099 -35.814007,198.31808 -14.641007,168.77353 C 32.814993,105.25165 86.596993,45.633668 148.32799,-6.0629064 C 180.45999,-12.843955 213.01899,2.009391 235.19199,23.084908 C 277.49799,62.057783 302.72599,114.76815 313.57799,169.06611 C 330.13099,238.98082 335.53699,310.68955 345.35899,381.55986 C 396.10099,371.16182 446.91099,360.91004 498.20299,353.16316 C 518.93399,368.9374 539.49899,384.93771 560.17199,400.81326 C 490.61399,406.4305 422.08699,419.84815 353.89099,433.60625 C 370.77299,528.11594 382.35899,623.40585 400.89999,717.66703 C 412.08699,776.34255 424.27399,834.91486 442.40599,892.07589 C 449.32399,908.5226 457.95999,924.52472 462.85899,941.46832 C 467.78999,946.47613 464.63999,956.24015 457.10899,956.9717 C 453.88599,963.52853 443.90699,962.85995 439.10899,958.17296 C 422.89999,947.5452 406.18299,937.66388 387.33399,931.61615 C 325.85199,906.95836 255.01799,897.58622 190.04699,915.94407 C 151.10599,927.3052 113.32599,943.22022 81.023993,966.73856 C 75.483993,971.02985 70.384993,975.39143 65.390993,980.21062 L 64.642993,979.58705 L 63.983993,979.03836 z M 42.546993,424.02316 C 125.70599,423.42106 207.80599,409.40045 288.89099,393.13573 C 272.49099,296.23749 268.45799,196.71447 235.76599,102.89498 C 229.31999,80.667923 213.29199,61.916267 197.17199,44.84029 C 112.18499,109.66855 44.646993,192.77861 -9.5300075,281.9083 C -24.208007,309.31005 -34.766007,340.43568 -30.891007,371.39065 C -27.697007,390.05047 -14.060007,407.32046 4.7339925,414.67449 C 16.565993,420.10327 29.472993,423.2223 42.546993,424.02316 z "/>\r
+    <glyph unicode="K" horiz-adv-x="450" d="M 345.17199,1008.3619 C 323.91499,1001.2386 305.25399,988.78311 285.35899,979.05648 C 270.66799,969.01398 261.22599,953.92141 248.45299,942.01077 C 207.36399,898.17743 166.11999,854.49688 124.60899,811.01988 C 107.02699,873.93502 78.780992,934.78151 72.890992,1000.0983 C 49.377992,985.09303 25.788992,970.19086 2.3279915,955.11427 C 15.868992,883.44963 49.217992,816.7337 66.858992,746.07906 C 45.692992,718.63142 23.090992,691.59445 7.4219915,660.97613 C 0.55199151,647.43002 9.5029915,629.72299 24.702992,625.69243 C 46.327992,616.76858 72.209992,620.58535 92.921992,609.25147 C 95.814992,608.80129 98.487992,607.26712 97.437992,604.25026 C 107.76899,538.5799 111.84999,472.10586 112.70499,405.72659 C 113.92199,376.40332 110.26199,345.67253 92.827992,320.62273 C 120.60199,336.02 148.40299,351.37422 176.17199,366.77898 C 187.76399,413.54385 180.31099,461.9742 178.79699,509.40863 C 177.13299,531.4969 174.93799,553.55243 172.23399,575.55065 C 271.78299,527.79553 363.52999,465.11764 441.68499,390.56932 C 445.02499,385.91148 448.79199,381.26103 453.39099,377.50432 C 474.48299,393.61995 495.41799,409.85375 516.42199,426.00495 C 495.94599,451.66149 466.08299,468.75147 440.49199,489.7182 C 353.54099,554.67775 260.72599,613.7152 159.82799,657.92842 C 153.55699,693.83108 145.91999,729.48145 136.85899,764.8345 C 184.18599,820.87115 237.15399,872.77971 287.28099,926.62097 C 309.61399,950.07189 333.07299,972.79784 353.10899,997.92932 C 355.13899,1002.8076 350.98299,1008.9397 345.17199,1008.3619 z M 81.233992,689.2266 C 81.851992,685.97249 83.638992,681.77221 83.265992,678.96922 C 79.731992,679.37713 76.156992,682.42863 78.858992,685.76806 C 79.411992,686.63362 80.676992,689.97307 81.233992,689.2266 z "/>\r
+    <glyph unicode="L" horiz-adv-x="400" d="M 93.140997,969.21608 C 71.349997,958.58363 49.418997,948.18003 27.515997,937.7416 C 22.266997,900.4286 24.400997,862.66069 25.033997,825.16011 C 28.134997,780.37116 31.524997,735.52026 30.046997,690.60937 C 29.913997,621.41492 28.944997,552.17165 32.640997,483.03898 C 32.815997,460.89727 27.040997,439.30317 26.737997,417.19325 C 26.768997,402.9757 19.185997,389.81875 20.015997,375.54679 C 20.481997,363.41764 33.638997,355.99891 45.421997,355.47278 C 63.208997,354.21341 78.806997,364.27383 96.240997,365.64292 C 133.964,370.2005 172.282,367.24464 210.229,366.71205 C 247.271,365.57359 284.373,365.10373 321.328,362.50611 C 329.546,362.29232 337.847,364.12844 343.787,369.8817 C 363.799,383.60036 383.863,397.25062 403.891,410.94771 C 352.472,408.39228 301.121,413.78635 249.708,413.80226 C 206.09,415.16577 162.054,417.73812 118.694,411.89301 C 107.76,409.7295 97.275997,405.99719 86.327997,404.06071 C 90.550997,417.89468 91.827997,432.3336 91.983997,446.6712 C 94.546997,466.53796 98.613997,486.46659 96.660997,506.62869 C 95.292997,545.97853 92.344997,585.31068 93.664997,624.70083 C 93.996997,695.10412 95.514997,765.63683 89.246997,835.87514 C 87.639997,871.02094 87.130997,906.45288 90.520997,941.45525 C 91.841997,951.5569 94.250997,961.38575 97.171997,971.17886 C 95.827997,970.52434 94.483997,969.86982 93.140997,969.21608 z "/>\r
+    <glyph unicode="M" horiz-adv-x="400" d="M 382.672,968.40284 C 362.436,964.9875 344.913,952.91918 331.453,938.8339 C 297.903,897.84755 270.808,852.5475 245.67,806.7476 C 238.761,794.78824 231.54,782.85509 223.547,771.58771 C 192.403,808.91292 173.513,853.48249 155.234,897.39651 C 148.613,914.6037 148.228,933.3704 143.703,951.02493 C 140.48,960.19916 129.063,966.35004 119.172,962.30732 C 109.007,958.36301 102.031,949.72328 92.546997,944.69501 C 88.480997,942.33549 85.213997,938.64444 82.452997,935.25911 C 79.256997,935.27595 75.815997,932.81436 77.452997,929.60243 C 79.177997,902.64898 93.362997,877.28787 91.187997,849.92178 C 92.340997,766.5706 67.271997,685.76463 57.178997,603.4366 C 48.883997,544.93363 45.622997,485.41224 29.156997,428.28782 C 20.048997,400.07869 6.0879966,373.40562 -1.4530034,344.69664 C 21.474997,358.22488 47.217997,367.05214 69.952997,380.91809 C 88.998997,420.20984 100.448,462.65716 104.99,505.519 C 115.914,581.46649 122.183,658.08155 138.992,733.23 C 140.997,743.93651 142.873,754.66659 144.672,765.40499 C 158.912,743.59427 175.787,723.3599 194.422,704.74228 C 232.745,713.51516 261.039,742.12574 281.891,772.11565 C 295.927,791.92613 307.157,813.29518 318.828,834.41847 C 308.164,776.45101 298.187,718.37192 288.516,660.25718 C 275.488,588.67794 260.902,516.08399 267.922,443.19186 C 272.732,410.76553 288.322,380.21287 309.047,354.10341 C 315.383,347.30921 327.74,345.30243 334.747,352.6189 C 349.463,362.4505 364.268,372.16395 379.109,381.82584 C 378.494,389.44246 370.2,393.18318 363.172,394.57393 C 345.195,421.71024 329.028,451.88782 330.26,484.59823 C 326.022,571.5017 348.673,656.53982 362.109,741.93068 C 372.019,796.88224 382.738,851.70351 392.26,906.71331 C 394.187,921.3435 401.159,935.23092 400.797,950.11624 C 400.675,958.48583 395.23,967.51849 385.578,968.28558 C 384.642,968.46288 383.633,968.44873 382.672,968.40284 z "/>\r
+    <glyph unicode="N" horiz-adv-x="280" d="M 268.859,1003.5748 C 251.044,1000.2907 236.926,988.33968 221.234,980.39492 C 194.471,965.48153 170.672,941.69393 167.109,911.61488 C 162.62,881.70368 168.339,851.47265 168.131,821.41794 C 172.064,726.36623 173.326,631.14764 168.734,536.09497 C 137.407,617.30515 97.660996,695.61576 72.327996,778.77368 C 67.206996,796.47693 61.392996,814.37155 58.744996,832.54844 C 59.764996,878.42705 60.143996,924.91532 49.233996,969.87397 C 26.993996,964.83628 1.9819957,958.76986 -11.516004,939.98245 C -23.859004,921.57777 -19.626004,898.43912 -15.588004,878.24892 C -10.611004,845.66036 -0.76700433,813.40004 -2.2730043,780.18034 C -1.4060043,663.738 -0.56700433,547.15131 9.1029957,431.00629 C 7.6419957,394.47153 -1.3960043,357.1716 8.6409957,321.08145 C 27.696996,334.0546 46.786996,346.98555 65.765996,360.05811 C 75.245996,413.79901 70.124996,468.57441 64.632996,522.46628 C 61.903996,558.41679 60.233996,594.43193 59.202996,630.45832 C 82.085996,577.06998 104.28,523.25123 123.526,468.60534 C 133.462,442.73029 146.851,417.96087 156.266,392.00049 C 159.175,381.77689 160.14,369.44615 169.266,362.19714 C 176.083,358.05314 184.653,361.32787 189.875,366.21644 C 202.604,373.75048 215.728,380.81105 227.484,389.59793 C 229.575,466.75598 226.075,544.00228 230.688,621.10784 C 233.246,721.20949 226.13,821.32137 229.297,921.4024 C 231.37,940.58552 241.893,960.72981 261.547,968.96531 C 269.135,974.48695 274.246,982.52739 279.172,990.15338 C 281.324,996.3858 276.418,1004.3427 268.859,1003.5748 z "/>\r
+    <glyph unicode="O" horiz-adv-x="450" d="M 110.328,956.51889 C 77.715995,956.71025 42.485995,946.29064 22.921995,920.61906 C 0.31299513,890.55593 0.039995133,850.86564 7.9839951,815.97025 C 11.833995,796.64268 17.237995,777.47555 26.046995,759.61565 C 5.1139951,694.13572 13.209995,623.5195 33.493995,558.85536 C 50.652995,505.64051 70.414995,451.54224 107.023,407.28313 C 133.864,376.07974 173.552,352.19745 217.422,351.01017 C 251.828,349.54355 285.244,361.51699 312.908,379.99394 C 385.51,424.63192 433.138,499.86569 448.496,579.39356 C 463.416,651.61709 457.193,727.97429 429.797,796.89214 C 409.196,842.40881 369.354,878.73063 322.054,899.97594 C 273.389,923.59468 220.922,940.07513 167.484,951.24397 C 148.652,954.61713 129.533,956.77313 110.328,956.51889 z M 80.046995,914.84621 C 145.87,911.56211 209.52,892.17363 269.197,866.66901 C 313.391,846.62696 354.873,816.69419 375.231,773.86234 C 401.543,721.14168 404.712,660.99386 399.328,603.65187 C 392.767,544.5468 373.568,485.183 334.435,437.65757 C 316.125,416.252 291.324,396.33369 260.922,395.05644 C 226.055,392.01904 190.483,405.31004 167.309,429.8019 C 130.694,464.88213 112.26,512.31656 94.691995,557.73288 C 76.221995,608.57704 64.783995,662.62367 70.171995,716.56624 C 92.678995,709.77118 116.634,718.48124 135.191,730.40409 C 166.842,747.74162 192.327,774.65005 207.891,805.85912 C 183.203,792.09165 154.729,785.09028 130.984,769.87209 C 127.418,765.01068 123.45,757.24403 115.734,759.05867 C 102.703,759.20964 90.790995,767.58768 85.452995,778.57648 C 91.351995,791.59653 104.099,800.62727 115.266,809.55207 C 122.827,811.52894 131.511,812.50982 136.545,818.93641 C 152.953,831.93301 170.27,843.81452 186.797,856.67519 C 143.556,862.72103 98.795995,847.63318 67.265995,819.9257 C 59.138995,846.74133 55.057995,876.36562 65.858995,903.03586 C 67.655995,906.95385 66.423995,914.43263 72.577995,914.1428 C 75.053995,914.48883 77.543995,914.77679 80.046995,914.84621 z "/>\r
+    <glyph unicode="P" horiz-adv-x="600" d="M 85.296994,981.25274 C 61.004894,969.85124 36.853994,958.19005 12.608994,946.70137 C 15.139994,946.12466 21.165994,946.54008 21.952994,943.91712 C 1.3559942,931.26561 -17.796006,916.70296 -38.016006,903.50476 C -16.503006,904.5194 5.0519942,904.917 26.515994,906.69976 C 37.404994,847.21119 56.977394,789.41713 66.108794,729.6126 C 72.049294,699.46878 77.831894,669.29593 83.359494,639.08277 C 77.499494,640.26344 71.491294,642.67167 68.921994,648.04976 C 63.067194,653.93802 53.132894,651.93871 47.281394,647.13918 C 33.994994,640.49132 20.493994,634.20728 7.2659942,627.50692 C 3.0269942,614.30495 14.860994,602.21334 26.983994,597.35193 C 47.091594,587.95918 70.332094,587.86912 92.359494,589.49807 C 101.97659,524.64257 118.08809,460.09196 116.17199,394.26495 C 115.49699,379.79983 112.00059,365.14335 103.76569,352.82765 C 101.29079,345.56643 109.59489,336.33221 117.51569,340.13764 C 133.86399,346.93184 150.81469,352.85196 166.26569,361.20852 C 175.31579,369.06986 174.97239,381.74293 177.62999,392.29186 C 184.43299,437.00589 173.05669,481.7114 166.51249,525.86362 C 162.85019,547.25604 159.01709,568.62226 155.42199,590.02507 C 266.56799,589.84033 379.41409,583.47474 488.64439,606.77185 C 523.86269,614.55912 555.89349,631.91918 583.73449,653.23658 C 608.07649,673.84885 623.91349,703.97385 622.15829,735.20353 C 621.70089,781.64867 592.76779,825.16691 551.51569,849.73001 C 504.45589,880.25268 450.07769,898.67335 396.74819,917.39124 C 301.87969,948.70916 200.34499,968.13137 99.461594,957.69584 C 95.038594,958.35319 85.158894,953.37174 87.328194,960.70894 C 87.587794,968.03852 88.014594,975.36166 88.359494,982.68841 C 87.338694,982.20923 86.317794,981.73094 85.296994,981.25274 z M 123.54699,914.84621 C 236.63669,914.97467 347.10339,883.67556 448.72869,839.09378 C 486.77499,821.82095 526.12619,799.88271 546.35949,763.65189 C 563.25989,733.07672 564.97469,692.27141 541.07819,664.48987 C 530.63889,653.33884 513.90799,653.13905 499.78659,649.29513 C 403.49089,628.94175 303.87339,633.66997 205.82819,634.95005 C 186.36349,635.44706 166.89959,636.35386 147.42199,636.03506 C 132.32749,721.26361 116.69519,806.49869 95.161894,890.50438 C 93.543694,898.0422 92.076094,905.61002 90.796994,913.20507 C 101.68089,914.20939 112.61109,914.74869 123.54699,914.84621 z "/>\r
+    <glyph unicode="Q" horiz-adv-x="500" d="M 347.70319,972.23387 C 294.74439,970.60401 247.03119,946.24917 200.12129,925.60033 C 152.92739,903.46514 109.24689,869.68183 87.98259,823.32674 C 82.836193,812.89683 78.531593,801.76083 78.359493,790.10145 C 46.583693,751.13793 28.408493,704.22776 11.234493,658.16809 C -11.039407,583.41261 1.871593,502.36835 35.359493,432.39925 C 51.813593,398.0983 78.406093,364.76053 117.57819,351.89711 C 154.07819,340.41123 194.61359,348.87467 227.01689,366.75235 C 238.38089,372.62651 249.23479,379.53792 259.45319,387.03449 C 283.15139,332.30327 307.94929,277.61707 342.14069,227.87666 C 362.34639,239.07547 382.55699,250.26688 402.76569,261.46104 C 360.67819,312.59221 335.90309,373.19768 310.10949,432.54559 C 346.12739,476.82627 372.78569,527.16122 396.01569,578.25199 C 431.28969,658.71477 454.09769,744.18813 461.39209,830.97997 C 463.32649,870.18073 456.50999,912.71905 428.20319,943.01657 C 411.16859,961.17194 385.70829,971.21362 360.01569,971.94137 C 355.91829,972.23387 351.81139,972.3314 347.70319,972.23387 z M 315.98449,922.79639 C 339.29239,923.14148 364.57149,914.9134 377.41149,895.60097 C 399.78319,865.70849 399.10659,827.31984 396.07819,792.29865 C 390.90709,738.44896 377.10339,685.59235 360.67459,633.90506 C 342.89009,580.97996 319.19819,529.55725 289.04699,481.89588 C 274.97339,513.35818 255.50819,545.04827 257.67199,580.24476 C 259.97939,587.43097 252.08829,597.03468 244.01569,593.05198 C 227.05069,583.96211 209.27279,576.24427 191.95319,567.76116 C 190.84109,525.34194 214.74929,487.84411 231.79699,449.92437 C 235.82119,440.7576 239.84919,431.59186 243.89069,422.4354 C 225.53059,405.34827 201.45779,388.77402 174.10949,391.04907 C 146.44769,394.43448 126.44419,415.84667 111.91489,436.55922 C 78.652193,484.56379 64.602193,542.37563 64.046993,599.2647 C 64.515493,642.40039 76.767593,684.79992 96.95319,723.40236 C 98.63719,725.5602 101.23759,717.47845 103.51569,715.72388 C 118.31269,695.453 139.15839,677.79383 164.79699,671.00435 C 212.53729,673.98736 256.10299,701.79332 280.64069,739.54893 C 283.51439,748.58724 269.58259,755.39638 262.57819,749.36652 C 245.28669,740.54957 224.90499,736.35213 210.07819,723.78311 C 205.86369,721.75752 201.35109,720.35086 197.29699,723.48958 C 167.26219,737.2946 147.19869,767.14195 144.64069,798.18982 C 151.57069,800.45171 159.23799,799.81868 166.48449,800.65142 C 176.23439,800.43478 187.57419,799.08725 194.78499,806.73102 C 214.68229,821.07705 234.60279,835.39403 254.45319,849.79634 C 221.65139,851.60625 187.74979,853.35799 156.14069,843.5245 C 164.02359,861.27003 176.26679,879.31184 196.36709,886.35823 C 233.89759,903.93302 273.18369,922.32653 315.98449,922.79639 z "/>\r
+    <glyph unicode="R" horiz-adv-x="350" d="M 193.42199,987.48903 C 168.32679,982.54888 148.46729,964.96282 135.10949,945.28928 C 129.22439,942.13364 122.32219,935.39392 126.64069,928.73197 C 128.70129,926.23368 124.43519,923.55169 124.46809,920.6943 C 91.023692,833.11381 71.218592,741.31053 55.646392,649.46411 C 49.067992,612.87223 43.219192,576.02617 35.140692,539.76064 C 29.324892,532.75729 34.778792,523.35242 31.176992,515.66921 C 19.093692,449.66312 5.8561921,383.83527 -4.7343079,317.59658 C 17.570292,328.02366 39.896292,338.40855 62.296992,348.66034 C 69.078492,399.64138 77.298692,450.83159 86.984492,501.16567 C 139.31519,481.22295 184.61879,447.71633 225.35949,411.66743 C 247.67729,391.08419 267.77609,368.17444 284.92199,343.4144 C 304.94369,354.55237 324.93079,365.74464 344.95319,376.88167 C 288.89579,449.03018 213.98749,508.43806 128.82819,548.34782 C 123.03429,550.72039 117.14799,552.86602 111.20319,554.88216 C 177.80979,606.39966 254.80959,647.66546 310.24639,710.89476 C 336.36679,739.91325 357.38659,775.2926 358.31569,814.14638 C 360.00629,840.8185 353.38539,869.64752 332.14159,888.5615 C 300.08629,920.5264 261.01899,945.95136 219.85949,966.65263 C 214.53329,968.74672 207.52069,968.84523 203.04699,971.25341 C 207.95879,977.87692 202.41389,988.55907 193.42199,987.48903 z M 187.01569,916.01292 C 222.65219,896.44915 257.59919,874.39077 283.39069,843.98067 C 297.21119,823.97428 296.44149,798.13678 291.51569,775.6987 C 282.17159,740.70568 256.21359,712.17767 230.04699,686.93281 C 195.13859,654.28986 154.86539,627.02508 115.33929,599.33737 C 111.70619,597.78533 103.59319,589.8311 103.15879,593.10017 C 120.80739,692.7995 134.97179,793.91768 171.87409,889.19918 C 176.46019,898.37532 181.12039,907.51854 186.04699,916.54086 L 186.91179,916.0692 L 187.01569,916.01292 z "/>\r
+    <glyph unicode="S" horiz-adv-x="350" d="M 133.5782,947.93995 C 97.359597,947.03491 58.229897,946.28939 27.140697,926.78185 C 12.708897,917.05533 -1.5074029,901.4948 2.0156971,883.61437 C 6.1255971,858.85716 26.160697,840.23197 45.733397,824.83006 C 100.2414,777.10674 160.3567,734.94634 211.297,683.98592 C 246.7306,646.28367 271.7789,598.06436 273.0782,547.13014 C 274.8335,514.87078 273.3063,481.92492 263.6328,450.85274 C 256.5492,430.30336 243.1545,408.59112 219.8907,401.98072 C 195.2234,394.91182 168.5569,398.55226 143.7032,403.18201 C 106.8481,411.92858 74.368197,435.2379 56.472797,466.79205 C 44.884597,485.22217 31.762397,505.75092 34.680097,527.98081 C 35.439497,530.86165 35.249097,536.05224 40.078197,534.32396 C 48.381297,534.18699 56.452597,537.37262 61.544297,543.56282 C 75.811097,554.85271 89.945697,566.28886 104.2657,577.51962 C 75.971897,588.50748 43.463597,580.81593 18.734497,565.79743 C -0.78400288,556.2097 -18.723403,540.27124 -23.078003,519.37773 C -28.301503,489.95597 -14.672003,461.28919 1.3412971,436.8396 C 20.975197,403.03386 53.013197,375.86378 91.702697,362.64677 C 152.5231,341.42595 225.5595,354.18058 273.5157,395.18189 C 302.7196,418.41516 322.8471,451.90305 326.6095,487.99139 C 332.076,523.72236 332.3288,560.42312 326.7106,596.17196 C 318.5671,641.15502 295.4234,682.87469 263.3642,716.87454 C 220.4496,763.91414 166.6465,800.94683 118.8595,843.3004 C 99.252297,859.88958 77.563297,875.0356 63.078197,896.12796 C 102.3739,906.03088 143.9214,901.25944 183.7345,896.74313 C 222.9055,891.04615 260.2155,877.92392 295.8717,861.90959 C 304.1958,858.49892 314.1484,854.33801 317.2032,845.75177 C 317.5004,843.39045 316.9081,841.8 314.4845,841.29732 C 307.3265,835.93512 309.2519,821.85539 319.5782,821.48684 C 331.2777,822.06265 340.2078,830.00657 350.9845,833.35623 C 363.9745,839.44333 377.7346,850.81107 376.3595,865.70944 C 373.9254,885.72056 354.5532,899.06878 335.6775,905.5123 C 301.8251,919.3913 267.6422,933.34438 231.1191,939.5253 C 199.0544,945.67051 166.3134,948.22591 133.5782,947.93995 z "/>\r
+    <glyph unicode="T" horiz-adv-x="350" d="M 543.1407,965.49865 C 524.7866,961.38837 509.4851,949.82285 490.9838,945.84388 C 372.6582,908.12007 249.4823,884.53793 125.3282,871.86855 C 127.7362,888.9923 128.8685,906.28954 132.5782,923.26979 C 109.8523,912.40103 87.019596,901.71514 64.421996,890.62408 C 63.841096,883.67238 63.286996,876.71879 62.859496,869.75858 C 22.836096,870.65326 -19.141304,874.35085 -54.203004,893.49547 C -41.963904,898.51636 -31.981404,907.94942 -20.828004,914.97614 C -9.6655038,922.22326 1.2253962,929.84736 12.171996,937.39554 C -28.844104,948.33739 -73.841904,932.59032 -102.703,904.63154 C -114.3289,895.39259 -123.9122,879.8068 -117.5155,865.39142 C -109.2566,848.01634 -87.817004,842.2312 -70.092304,836.65616 C -28.063304,824.14161 16.697796,823.44861 60.453196,824.9209 C 57.099896,763.80149 57.713096,702.57991 57.882896,641.41093 C 56.359396,564.30908 51.219496,485.24641 74.954196,410.4337 C 81.959596,388.16627 93.558996,367.35523 105.7657,347.30184 C 111.753,341.35172 121.767,343.72146 127.8595,348.23967 C 140.9012,355.23261 155.1784,360.69613 167.172,369.01692 C 172.3723,376.38504 165.2528,384.55211 160.5888,390.31284 C 128.467,435.73664 119.0572,491.34845 116.1529,544.9028 C 113.1343,610.03207 118.5785,675.17069 117.3907,740.31594 C 117.9431,770.13709 119.4713,799.93581 121.5157,829.69784 C 248.3526,844.67131 373.5484,871.09957 494.4472,910.05097 C 515.1093,919.78032 535.34,931.47625 552.172,946.30431 C 554.4891,950.95098 558.353,957.37952 553.1407,961.68946 C 550.6736,964.28333 546.8452,965.71725 543.1407,965.49865 z "/>\r
+    <glyph unicode="U" horiz-adv-x="400" d="M 119.1407,952.41531 C 96.609096,939.18236 71.572696,929.68177 50.703196,914.14194 C 26.882696,857.67865 5.3409957,798.41418 7.4844957,736.84469 C 6.8247957,652.58112 26.556196,569.78143 46.863596,488.18955 C 57.876596,448.23571 77.577196,409.97553 108.2141,379.96017 C 127.8478,360.05415 154.0461,343.07571 184.2032,343.77061 C 226.0134,343.21543 265.3011,363.55385 293.0782,391.68521 C 320.6678,418.15574 343.1244,450.03901 354.9944,485.50282 C 388.2872,615.99954 394.5445,750.62341 406.4664,883.89407 C 407.8123,902.17407 409.0349,920.46722 409.5157,938.78752 C 387.9713,927.35792 366.2975,916.15911 344.8595,904.55885 C 337.0869,780.58058 329.4158,656.19621 306.3953,533.76063 C 300.5104,503.0026 293.5669,472.28393 279.0024,444.01293 C 271.4556,427.79134 264.3829,409.91271 250.2032,397.86888 C 234.776,390.89467 217.1787,396.35715 200.8595,396.63752 C 179.2382,401.84033 164.1888,418.78311 150.2032,433.97313 C 123.6451,465.33506 110.361,504.35863 102.0486,543.20769 C 94.656996,576.91788 85.948396,610.57359 80.296996,644.6494 C 70.487796,706.35768 64.487896,770.41506 80.222196,831.72953 C 91.968796,873.43605 111.3673,912.93035 123.3595,954.64248 C 121.9533,953.89979 120.547,953.15701 119.1407,952.41531 z "/>\r
+    <glyph unicode="V" horiz-adv-x="320" d="M 404.48449,975.87594 C 384.60379,967.0318 363.31569,960.06131 345.48449,947.88905 C 267.64039,838.81294 216.96789,715.38041 171.42629,591.90577 C 163.35649,568.43044 155.74719,544.84083 148.85949,521.05607 C 127.33059,574.42 107.81369,629.0903 101.24179,686.03092 C 80.027495,775.38756 62.320995,866.30182 61.515695,958.20455 C 41.811095,947.46423 22.038695,936.83272 2.2656948,926.20302 C 7.9030948,833.49947 28.610695,742.41739 48.322895,651.64464 C 56.171095,572.58671 96.116295,501.16216 120.88459,426.23593 C 125.98919,414.255 126.26149,401.35309 126.14069,388.62468 C 127.09169,379.94658 131.09789,371.74196 135.29699,364.30166 C 132.33789,357.37531 134.41429,346.8 143.67199,345.66342 C 154.34799,343.96419 161.29629,353.53507 170.05369,357.3912 C 180.21259,363.41453 190.46439,369.29161 199.82819,376.34643 C 196.70209,376.37642 193.47079,378.9853 196.73449,381.23972 C 200.35509,388.08736 198.95169,396.27034 198.48449,403.62908 C 195.74119,423.14414 184.34259,442.20901 189.81659,462.20518 C 199.04889,537.04324 229.58559,607.42592 256.60949,677.86952 C 296.44949,776.69952 342.33899,874.54675 409.14069,959.99287 C 414.49409,963.83779 415.40479,973.71057 407.76569,975.61243 C 406.70629,975.89839 405.58309,975.96312 404.48449,975.87594 z "/>\r
+    <glyph unicode="W" horiz-adv-x="450" d="M 84.515694,945.70455 C 65.863694,944.4826 47.227394,937.49336 35.150794,923.62183 C 10.548794,898.61612 4.9512939,862.7285 5.0036939,829.80232 C 4.9307939,777.52806 11.708194,725.12627 5.4289939,672.96173 C 4.6125939,653.22163 4.7141939,630.60061 19.734494,615.25677 C 32.717194,603.8282 55.191194,604.76216 67.546994,616.57621 C 87.638794,631.63123 102.71279,651.78215 117.97649,671.12089 C 119.89189,670.79075 120.50399,662.32834 121.94899,658.89231 C 145.13159,573.56813 183.24799,492.68705 219.51569,411.76008 C 232.79279,386.67558 249.97689,360.50983 278.76569,349.60352 C 298.67419,343.49306 321.10119,351.35904 334.17199,366.04363 C 359.53369,389.54138 371.02419,422.36624 380.35989,453.93269 C 425.67439,591.1729 476.43249,728.03246 551.22099,853.72396 C 560.19999,869.86496 570.01199,885.77522 577.32819,902.74326 C 557.31719,887.03931 533.02009,878.04698 510.89069,865.55495 C 504.57899,861.36026 496.21669,858.3153 494.29699,850.60871 C 484.60659,832.76196 474.11019,815.4197 465.10949,797.24384 C 402.11739,676.88815 358.50119,548.76967 313.56009,421.79422 C 310.79889,414.05292 307.65819,406.31446 303.82819,398.92477 C 293.56619,410.31967 288.45329,424.89546 280.53349,437.71669 C 243.86279,507.66516 212.13909,580.14372 187.68269,654.54949 C 173.92329,699.38535 164.98439,745.84828 166.14069,792.67219 C 152.50239,794.97163 142.35979,784.64105 132.26569,777.99044 C 123.09489,772.54472 109.76299,771.58919 104.51569,761.54939 C 102.75239,754.75331 108.66379,746.41935 101.92839,741.07683 C 88.667894,722.58957 76.128794,703.55563 65.453194,683.65605 C 65.807894,708.78558 68.939194,733.84947 67.853194,758.99955 C 68.893494,808.52617 82.271294,858.20376 73.484494,907.6375 C 73.096994,911.04533 68.085894,914.92587 72.484494,917.1906 C 80.846994,924.9038 86.334594,935.19116 87.265694,946.17338 C 86.349094,946.01776 85.432394,945.86115 84.515694,945.70455 z "/>\r
+    <glyph unicode="X" horiz-adv-x="350" d="M 42.671993,979.0227 C 28.217293,965.9737 13.882293,952.76134 -0.42180716,939.5482 C 29.884293,842.1332 69.878393,747.62919 114.01569,655.08031 C 56.073693,591.38209 -2.1650072,527.682 -66.234307,469.48949 C -65.320307,468.94178 -59.895707,468.28348 -63.140507,466.88156 C -70.302307,461.38523 -68.885807,449.67059 -60.328007,446.13325 C -51.894207,442.04083 -43.623107,448.74213 -37.815807,453.83237 C 23.814093,503.85419 78.449993,561.04142 131.29699,619.24055 C 188.29569,500.77074 251.59429,385.07486 315.92199,270.00738 C 317.22329,264.47633 324.11769,258.2008 330.07819,262.50513 C 341.54789,274.36705 352.02319,287.17512 363.42199,299.19549 C 293.46659,416.83164 228.16239,536.88348 169.20319,659.71108 C 167.61099,663.09082 173.61579,664.8594 174.79699,667.7112 C 244.91689,746.97458 319.71109,822.7485 389.67199,902.12539 C 394.56689,911.25925 382.01489,923.45591 372.42199,917.42228 C 352.00909,908.79009 333.29859,896.17991 320.30799,878.89394 C 264.43369,818.01366 208.18789,757.43449 152.14069,696.69403 C 109.08159,788.93898 71.564993,883.69159 45.140693,981.25 C 44.317793,980.5073 43.494893,979.7646 42.671993,979.0227 z "/>\r
+    <glyph unicode="Y" horiz-adv-x="450" d="M 43.796992,1002.4398 C 27.449192,995.4319 13.203492,984.57719 -2.484308,976.24122 C 3.365992,891.71133 42.349792,812.60639 91.921992,743.02836 C 125.19049,696.24097 161.42009,649.77151 210.48399,616.66343 C 131.01939,599.71884 51.180692,575.10882 -15.015508,529.15795 C -37.212208,513.07239 -58.646308,491.91344 -61.756408,464.48729 C -65.087808,437.60412 -48.990608,413.25954 -31.665908,393.30376 C -8.196608,367.03017 20.042092,344.88372 46.890692,321.64668 C 88.095292,287.31196 128.27449,251.86413 162.00909,210.8788 C 196.20999,172.7958 231.61299,133.34465 279.73399,110.50054 C 296.10099,103.89677 314.34599,100.94745 332.07799,102.96926 C 345.50599,108.96354 359.95699,114.14753 369.95299,124.86066 C 382.73999,136.87631 389.03199,153.16354 392.99899,169.42173 C 416.36299,247.83365 410.96299,330.28636 423.27199,410.25307 C 429.94599,473.54054 431.16999,537.1713 433.39099,600.69224 C 448.09799,601.61124 463.67199,599.5744 477.64099,604.64873 C 495.59199,619.96531 513.57099,635.25295 531.57799,650.51144 C 499.28299,649.34016 466.98699,648.0929 434.73399,646.11611 C 437.12899,712.68296 435.50199,779.87348 447.70799,845.60381 C 450.47199,865.08888 453.28999,884.7305 453.42199,904.41345 C 449.04899,914.47104 452.56699,928.55825 442.17199,935.7998 C 429.71899,942.12783 414.26999,933.11023 409.54699,921.73321 C 401.48799,904.4847 397.16599,885.69737 393.01599,867.19979 C 387.21999,839.34607 386.24499,810.83498 384.10899,782.64923 C 379.10299,749.39489 368.63099,716.96951 355.03099,685.95739 C 347.70699,670.3416 338.89299,655.29405 328.29699,641.45629 C 314.83399,636.61646 298.40499,632.57275 285.18899,640.2691 C 241.04399,658.0399 209.37399,693.11635 178.44799,726.26095 C 133.68569,778.35143 96.302492,836.9032 72.859492,900.22255 C 61.796192,931.40258 55.930392,964.11306 54.046992,996.9014 C 52.336792,1000.5699 48.010292,1002.8205 43.796992,1002.4398 z M 379.35899,582.46473 C 377.51899,503.77338 374.37299,424.85138 363.45499,346.81084 C 356.98799,279.24903 356.90799,209.72349 332.17199,145.28631 C 315.77299,154.7118 304.30499,169.64583 289.68499,181.18981 C 228.72699,235.87043 167.84099,290.76766 106.85979,345.33476 C 68.992992,376.97433 27.134992,405.4892 -0.39050802,446.01875 C -8.779308,460.31512 -9.385508,479.81711 3.140692,492.32134 C 23.493392,516.3827 54.904192,528.856 84.441992,540.32969 C 143.14139,561.23918 204.62899,574.81255 266.48399,584.77914 C 304.02999,590.58774 341.78899,594.57799 379.73399,597.35193 C 379.60899,592.38922 379.48399,587.42651 379.35899,582.46473 z "/>\r
+    <glyph unicode="Z" horiz-adv-x="400" d="M 27.202991,996.2253 C 12.387991,978.8643 -2.3840092,961.47143 -17.172009,944.09079 C 45.296991,915.1998 94.726991,864.74202 161.48399,843.71995 C 206.84999,828.33669 255.95699,823.05139 304.14099,826.81 C 232.93799,773.99653 165.57899,716.35722 108.14099,650.30423 C 75.090991,657.53735 44.631991,675.89795 24.577991,701.53008 C 15.257991,707.14741 3.8629908,700.25284 -1.9840092,693.11923 C -11.690009,684.93531 -21.619009,676.95299 -31.422009,668.85439 C -10.460009,633.68883 26.630991,608.26207 67.796991,597.55452 C 21.894991,532.14203 -19.439009,463.59461 -51.891009,391.39077 C -57.194009,376.07229 -55.639009,355.56228 -39.891009,346.28956 C -20.943009,335.01566 2.6369908,340.78575 23.663991,341.24246 C 137.75499,349.36915 253.74199,349.26981 365.85899,325.6876 C 412.24899,316.02296 457.76399,302.11199 500.48399,282.55002 C 515.79399,299.55003 531.10699,316.54617 546.42199,333.54146 C 431.78399,382.15844 304.94399,399.35901 179.92299,401.34053 C 121.41699,402.43869 62.905991,398.02179 4.5779908,395.78611 C 0.28199082,397.69544 4.2459908,402.43964 4.3279908,405.39833 C 9.6969908,422.99279 21.348991,438.1303 28.905991,454.91369 C 53.840991,501.13558 80.483991,546.45154 110.64099,589.90515 C 161.60699,584.77368 214.03999,586.36508 263.35899,600.0162 C 273.96399,606.52528 278.59799,618.32997 287.34599,626.62645 C 297.92799,639.37266 308.47999,652.14043 319.04699,664.8979 C 265.01199,649.2333 208.11399,638.42366 151.26599,643.9743 C 217.94399,721.74287 303.62499,782.42895 389.79699,840.32054 C 400.89399,843.97035 413.35199,844.69335 422.91899,851.71071 C 439.09499,860.83993 455.43899,874.32417 458.48399,892.65951 C 458.44699,904.09754 444.79299,912.9548 433.42199,908.74791 C 416.55299,905.37753 402.68899,894.08678 385.42299,892.39408 C 307.48699,873.46892 220.23099,878.13527 150.23399,917.6277 C 107.35999,941.07955 70.301991,972.6469 28.327991,997.5438 L 27.703991,996.8114 L 27.202991,996.2253 z "/>\r
+    <glyph unicode="1" horiz-adv-x="200" d="M 35.327483,880.07055 C -49.077917,808.97951 40.945783,897.08709 102.18768,952.80049 C 224.71978,1086.5155 181.13768,972.21147 154.73188,854.10873 C 138.26738,722.05407 110.58778,589.61122 119.60048,455.24595 C 124.55028,428.08956 121.91958,401.86269 119.72688,374.81963 L 52.653483,334.48201 C 55.638283,361.02017 58.543483,386.55466 53.966983,413.37032 C 45.704883,548.92926 73.429983,681.9091 88.899283,815.38139 C 111.99248,925.51296 113.69038,961.41665 195.91278,1016.7903 C 206.26138,1023.7605 160.66408,978.71508 170.74338,986.25352 C 107.71488,928.56941 48.828383,858.64883 -25.718317,825.75778 L 35.327483,880.07055 z "/>\r
+    <glyph unicode="2" horiz-adv-x="450" d="M 104.48721,989.66186 C 166.00401,989.87062 225.57011,953.92053 278.24651,917.23972 C 336.42481,876.83254 330.55131,816.79672 307.43131,748.57027 C 262.60931,642.49524 175.42471,583.97877 106.82161,504.6908 C 65.14721,470.0182 79.42611,432.64427 82.23601,417.5182 C 232.24331,387.65239 381.20641,350.47823 531.45921,321.90962 L 472.27581,271.01991 C 321.91241,302.41482 172.23241,339.23566 21.22261,365.40893 C -13.54449,393.27544 8.3604105,430.19091 38.35111,469.55157 C 105.12961,550.75321 194.22091,606.12671 240.26511,711.01167 C 263.17641,774.76585 271.58131,829.58006 216.34951,868.01113 C 163.85501,904.62061 105.00301,938.85868 43.44131,935.34819 L 104.48721,989.66186 z "/>\r
+    <glyph unicode="3" horiz-adv-x="350" d="M -119.88891,930.7858 C -41.618911,1014.9948 14.124689,1004.2758 107.99409,962.9551 C 178.63011,925.5544 260.80911,876.4927 217.34511,776.7303 C 139.09709,693.4278 58.811089,681.385 -36.984111,673.313 C 60.489089,747.5604 199.23911,614.3352 299.81111,552.3537 C 357.65711,509.6011 362.85711,456.1545 317.53511,400.8942 C 235.14811,332.1647 150.05409,305.1456 54.967089,346.006 C 42.935089,351.1037 31.923089,358.9838 20.441889,365.4509 L 82.640089,415.2834 C 93.822089,409.109 104.53509,401.4777 116.26209,396.72 C 181.53311,370.1176 358.59211,424.3386 248.18511,367.8873 C 294.51711,414.6456 293.92311,462.0292 238.77111,503.5239 C 160.73611,552.5695 -127.42831,634.6133 22.723089,729.0247 C 92.014089,730.8731 236.02111,775.3315 149.18909,741.3949 C 199.28311,831.2242 110.87409,879.823 47.845089,913.1779 C -33.131211,947.706 -144.94731,924.9299 -52.656411,972.7346 L -119.88891,930.7858 z "/>\r
+    <glyph unicode="4" horiz-adv-x="550" d="M 210.0313,346.0625 C 212.1323,366.58326 214.3347,387.16496 216.7188,407.6875 C 224.5897,452.64595 237.8526,495.99208 248.4063,540.03125 C 194.7043,534.43198 141.2388,526.40429 88.249998,515.78125 C -24.453002,492.15317 -7.6118025,547.22588 19.406298,667.5 C 44.587298,756.04203 79.605998,844.48872 78.749998,940.0625 L 145.9688,982 C 145.4747,884.87391 111.297,795.42124 85.374998,705.5 C 59.741998,584.45154 39.441998,548.4403 146.375,569.34375 C 183.4315,576.14112 220.7016,581.80088 258.0938,586.34375 C 260.4384,600.00592 262.2856,613.79974 263.375,627.8125 L 330.5938,669.78125 C 328.6138,643.48656 324.061,617.92023 318.3438,592.6875 C 419.3956,601.79067 521.0872,603.11789 621.9688,597.75 L 563.3125,546.09375 C 478.028,551.40609 392.0897,551.26635 306.5,545.125 C 297.9759,512.68666 289.1051,480.33308 283.0625,447.125 C 280.2786,426.89865 278.7503,406.45843 276.9063,386.09375 L 210.0313,346.0625 z "/>\r
+    <glyph unicode="5" horiz-adv-x="550" d="M 172.5204,985.4821 L 127.4804,957.38894 C 115.4364,958.38193 103.3944,959.44087 91.361396,960.62563 L 30.313396,906.30747 C 55.558396,904.72838 80.830396,903.46338 106.0954,902.42406 C 105.5614,837.95429 96.837396,774.2028 82.316396,712.06333 C 49.108396,618.47904 191.4844,640.15063 245.6614,623.25813 C 332.4794,594.3496 421.5024,558.44943 473.6924,464.30038 C 483.9344,462.13341 473.8184,441.05869 463.3724,422.16247 C 445.7354,415.7686 424.0204,407.98209 408.0744,405.90876 C 267.1434,394.99449 126.2044,425.99064 -11.992604,457.02953 L -71.953604,405.87134 C 67.173396,376.60413 208.3994,345.22082 350.0104,353.18932 C 422.6034,361.06146 571.1184,392.24404 538.0984,510.24505 C 483.7354,606.08292 394.4344,643.57549 304.9694,673.27446 C 251.9394,690.35424 118.2174,670.11719 149.0844,750.88881 C 159.6294,800.03168 166.8774,849.91066 170.3454,900.29271 C 295.7374,896.95888 421.3074,898.3238 546.7084,897.43883 L 603.4054,947.9119 C 459.9174,947.28382 315.9324,944.86886 172.5834,954.07831 C 172.7314,964.52513 172.7124,975.00047 172.5204,985.4821 z "/>\r
+    <glyph unicode="6" horiz-adv-x="450" d="M 351.3554,911.20414 C 295.2884,927.80127 230.0044,890.14095 176.8514,863.0666 C 69.795395,779.31886 119.5574,899.13624 78.975395,718.90392 C 67.540395,637.1956 65.900395,560.35838 104.7014,491.14784 C 137.1544,429.20651 189.5534,407.09239 246.7344,397.58945 C 288.6914,383.73999 398.6714,441.14761 282.2164,375.34951 C 254.4544,359.66325 304.2464,446.44864 306.0254,483.82707 C 301.9394,543.18488 261.9704,568.1698 224.4534,596.94367 C 175.6134,628.49651 125.0524,635.97783 71.677395,626.56592 C 62.466395,622.22928 88.869395,638.48479 97.800395,643.62429 L 29.742395,605.22974 C 56.692395,628.73738 90.841395,672.27772 130.7664,682.13037 C 185.7894,687.55633 236.7544,679.83585 286.4314,647.01704 C 326.5854,615.4937 367.4494,588.33372 372.1734,524.67408 C 366.3984,397.47081 292.4254,326.90965 186.6224,345.37845 C 127.8714,356.30523 74.115395,380.46948 41.083395,444.47883 C 1.0903951,516.55127 1.3623951,594.3984 12.321395,679.61279 C 40.781395,817.0863 131.7844,867.93589 234.1914,918.49729 C 289.4064,945.49574 354.7454,981.0123 412.4004,965.516 L 351.3554,911.20414 z "/>\r
+    <glyph unicode="7" horiz-adv-x="450" d="M 31.968794,319.3125 C 13.458794,348.06129 5.3792939,369.65179 13.531294,407.9375 C 28.953394,464.89593 55.218494,513.06853 87.249994,555.8125 C 36.888194,566.10981 -13.620206,575.55346 -64.656206,575.71875 L -3.6250061,630.03125 C 42.124994,627.19527 87.459494,618.67688 132.71879,609.625 C 157.99219,636.59901 184.98689,661.6577 211.99999,685.90625 C 261.71799,731.95166 422.18479,827.35865 286.59379,857.625 C 187.77059,878.76851 87.279694,893.91544 -11.906206,909.46875 L 49.124994,963.7813 C 147.25509,942.55564 247.20979,928.84038 345.71879,908.34375 C 492.30379,873.02703 336.00899,770.67368 279.37499,718.71875 C 239.73359,682.92285 199.62359,645.73301 164.90629,603.15625 C 182.19189,599.70974 199.46779,596.37151 216.78129,593.40625 L 157.09379,541.8125 C 146.53899,543.76013 135.99439,545.83056 125.43749,547.96875 C 106.74809,517.58497 91.251394,484.35942 80.468794,447.25 C 71.132694,410.36493 80.396694,394.65523 95.968794,367.15625 L 31.968794,319.3125 z "/>\r
+    <glyph unicode="8" horiz-adv-x="400" d="M 173.91839,948.37033 C 133.30639,962.64083 89.549393,961.46408 48.653393,949.64783 C 56.431393,959.35602 19.946393,930.78111 26.856393,936.2686 C 83.474393,981.2355 26.138393,908.94627 78.206393,788.69086 C 149.41639,625.05656 271.77139,532.90592 368.19539,404.93984 C 424.77539,310.91655 287.61739,289.47156 241.09239,287.73548 C 157.79539,286.43832 81.195393,319.18659 15.316393,390.82809 C -45.239607,487.46081 59.091393,539.79225 109.36439,579.41348 C 239.57239,666.94739 224.26539,631.54857 310.33839,748.08562 C 351.66239,805.95799 295.46039,844.43727 263.36839,883.22263 C 246.26339,907.1174 224.84839,919.67678 203.34539,932.7224 L 250.07239,977.6215 C 271.82139,963.56683 293.40439,949.68624 310.66739,925.11786 C 344.65839,883.95146 403.17839,842.2569 362.00539,778.34837 C 277.97639,663.68308 172.40039,593.93817 66.260393,530.33384 C 126.34439,582.79732 5.689393,504.06064 62.798393,433.23188 C 127.50339,362.08903 203.81639,331.58451 285.74539,333.94954 C 392.97339,340.87157 339.49039,285.99583 320.72239,363.33891 C 226.24439,495.00383 103.32739,586.73964 30.742393,749.34441 C -21.437607,866.30692 -13.932607,953.20923 93.012393,997.7773 C 135.00939,1007.7701 178.32139,1007.5328 220.16639,996.2197 L 173.91839,948.37033 z "/>\r
+    <glyph unicode="9" horiz-adv-x="400" d="M 321.58439,893.01253 C 255.85639,939.44786 176.40939,954.45259 102.88039,943.92373 C 110.37539,956.53932 75.240392,927.53258 81.850392,932.48301 C 151.64939,984.7448 88.256392,931.27954 140.40839,864.65807 C 236.40139,788.82887 260.86939,854.12292 271.87039,869.00451 C 368.83839,983.5414 319.86839,910.75079 283.64539,808.38791 C 247.89239,692.652 247.73039,568.75757 263.50739,447.23357 C 281.86139,364.6974 305.36139,237.09709 197.10839,289.96376 C 133.60039,323.43732 72.133392,361.7944 11.404392,403.32922 L 62.355392,448.39693 C 122.30439,405.80227 183.48139,367.46835 247.08539,335.55689 C 286.27539,319.07036 208.01139,251.52638 210.47539,409.09779 C 194.80639,532.02333 194.28139,657.08372 229.21339,774.77334 C 244.19539,818.83923 338.05539,1009.6477 327.54639,900.77232 C 265.08739,811.03663 170.49039,736.7071 88.844392,821.42814 C 27.292392,900.88826 69.260392,967.24483 151.22039,992.5814 C 226.06239,999.8834 302.75839,982.2103 371.63639,942.15639 L 321.58439,893.01253 z "/>\r
+    <glyph unicode="0" horiz-adv-x="430" d="M 243.26424,883.79019 C 211.40181,869.28667 179.42386,853.84311 150.3974,832.13181 C 73.634125,758.56332 51.073653,662.07553 59.103158,547.02048 C 76.471011,469.56992 98.627643,393.57325 171.16151,392.39627 C 277.79257,418.322 335.71452,458.70648 372.42577,653.56932 C 383.24213,731.71792 386.40555,824.02554 334.36839,879.40478 C 296.61298,916.00901 259.84898,951.47454 211.83202,949.0089 C 295.2441,1010.9728 212.78887,953.97762 240.56288,885.15292 C 242.19825,884.65279 243.83362,884.15186 245.46899,883.65173 L 188.97049,836.92126 C 187.03406,838.07541 185.09581,839.23045 183.15847,840.38542 C 141.37375,918.20094 209.12429,966.18581 265.79197,999.80727 C 314.79851,995.35827 352.74493,961.40771 391.60726,923.97265 C 444.60127,864.76191 442.95498,771.04351 431.79663,688.72697 C 398.14238,502.64881 269.15367,372.55754 117.03966,343.75 C 41.882653,350.35829 18.544516,426.95681 0.29349007,508.75863 C -9.2012999,625.58529 11.95028,725.3964 88.865446,802.15944 C 145.85874,845.06655 234.78997,937.51508 304.416,922.09196 L 243.26424,883.79019 z "/>    \r
+    <glyph unicode="a" horiz-adv-x="400" d="M 352.6563,818.9063 C 333.6753,804.51236 316.5135,785.3337 303.3438,761.86933 C 241.0176,769.74942 175.5585,773.31901 116.5083,741.34335 C 72.892996,718.58147 35.277696,672.92146 18.874996,613.10838 C 1.6879958,555.10147 -2.1507042,490.43112 5.9062958,429.02692 C 9.8602958,403.34735 19.007996,374.4291 38.499996,364.51179 C 62.076196,353.1526 87.190396,366.20106 107.6239,382.53354 C 120.0099,391.88919 132.2255,401.30475 144.4375,411.02859 C 118.3715,403.85427 90.465896,426.58926 82.531296,460.75638 C 71.339796,497.79229 70.038996,539.60985 73.749996,578.92849 C 81.669796,625.22281 102.8166,664.49905 118.5173,706.45908 C 120.0235,714.59864 124.211,716.8476 130.0912,715.43984 C 180.0819,717.65404 231.8484,718.23986 279.0938,693.46714 C 268.0473,651.75143 275.8902,604.06607 259.4688,564.60584 C 250.0623,538.09659 234.2377,517.87368 218.5914,497.95968 C 196.0032,468.3053 172.5156,439.83983 147.6563,413.64807 C 191.5858,448.30855 234.3266,485.92579 271.8438,532.5807 C 279.4663,475.61412 278.6806,416.02891 293.9688,361.42757 C 303.3822,333.74682 323.0587,314.33052 344.4599,307.08449 C 350.1771,305.20857 356.3472,301.10155 361.9289,301.60358 C 380.7186,320.67517 400.9388,340.06476 418.8438,358.93483 C 395.3881,366.72431 373.1737,387.68996 364.3611,418.97316 C 347.3354,469.62641 351.6345,527.15757 353.5451,581.27718 C 356.5442,635.85598 360.4063,690.69004 358.4375,745.39193 C 360.7831,749.19787 356.49,751.77228 356.4063,755.95436 C 352.6579,773.20643 355.9813,791.45512 353.8438,809.06208 C 353.4031,811.94645 353.7423,817.70887 352.6563,818.9063 z "/>\r
+    <glyph unicode="b" horiz-adv-x="350" d="M 44.816973,974.03277 C 23.248473,964.87258 1.7326728,955.6251 -19.839327,946.47064 C -29.612127,885.87324 -24.134427,824.49061 -25.725727,763.53717 C -24.618527,693.50605 -12.243327,624.0427 4.9374728,555.6271 C 14.534873,512.37746 23.924673,468.91723 35.691973,426.14953 C 29.899173,424.45348 24.757173,420.35918 23.035673,415.22962 C 21.642773,409.68304 28.804673,406.69745 32.582673,403.2707 C 40.190373,398.23697 48.116873,392.16569 48.830773,383.43802 C 52.043973,371.59553 54.608573,359.53132 57.191973,347.53172 C 71.816673,353.45931 85.694373,360.66448 100.44197,366.35277 C 151.69977,345.54206 213.96227,347.25777 265.53567,366.53651 C 296.47867,378.81475 323.21737,401.32338 330.82287,430.05905 C 344.44287,472.89105 344.23277,519.07447 330.00197,561.82573 C 308.12387,624.10066 256.45107,676.51236 194.24287,713.89288 C 163.14797,732.3584 128.46217,747.94893 90.754473,754.218 C 73.758873,756.57463 55.911473,756.11371 39.410673,751.82921 C 37.271573,815.43155 36.785973,879.19808 42.191973,942.69065 C 43.653473,953.67872 46.022873,964.64296 48.410673,975.55528 C 47.212773,975.04774 46.014873,974.54021 44.816973,974.03277 z M 44.254473,714.23966 C 111.72027,702.17368 169.96167,665.72791 213.75447,621.97209 C 253.05547,582.17032 278.31547,531.51179 276.41067,479.30506 C 276.29637,453.4783 273.06287,426.69577 259.16067,403.52229 C 252.53117,400.43775 248.33697,392.35505 239.34877,394.17981 C 210.79867,394.88659 180.66287,392.7959 154.35607,403.75296 C 137.22257,409.49836 121.37087,417.33623 105.78567,425.62452 C 85.150473,485.77067 75.830873,548.20635 60.241973,609.39514 C 52.389773,644.21426 44.917773,679.15085 42.410673,714.55471 L 43.390673,714.3873 L 44.254473,714.23966 z "/>\r
+    <glyph unicode="c" horiz-adv-x="300" d="M 220.08433,726.77763 C 159.46343,726.48099 99.189734,703.87362 58.678034,666.29832 C 29.342234,637.17196 15.398834,599.55401 8.4280335,562.40208 C 3.3736335,531.15245 8.2958335,498.93884 22.747934,469.89925 C 42.098934,426.11805 73.552834,384.2055 121.31533,359.07834 C 155.08743,344.02396 197.44153,347.14502 230.20923,362.56502 C 242.67333,367.5074 255.51153,372.47965 265.58433,380.46568 C 286.98353,414.6187 287.96863,456.04608 274.61553,492.55179 C 253.59173,484.23052 232.96013,475.37716 212.02183,466.98452 C 220.29573,442.17584 222.10373,414.71359 210.36553,390.44055 C 187.56223,389.63034 162.71773,395.16818 147.60933,410.20747 C 107.56313,442.36073 81.929334,486.53118 72.970134,532.18323 C 66.314034,580.29992 86.102134,627.99596 115.64683,668.50326 C 118.24233,672.26691 120.34303,678.99784 127.08433,677.74315 C 146.27093,679.03883 163.73603,688.06095 183.36543,686.68079 C 203.64843,686.95318 225.94553,685.97733 241.92803,674.22578 C 262.12723,685.17347 282.39023,696.0396 302.42803,707.19528 C 279.66853,723.08494 248.90823,727.14325 220.08433,726.77763 z "/>\r
+    <glyph unicode="d" horiz-adv-x="350" d="M 307.5869,997.89163 C 294.3429,996.49923 287.8751,984.59773 285.7744,974.73933 C 264.8551,890.64008 271.4641,804.22748 266.0468,718.94283 C 263.0628,665.88646 259.7873,612.83197 256.1182,559.81066 C 254.2798,543.52116 247.4033,528.04809 242.8734,512.10298 C 229.8318,473.33781 213.9805,433.58713 182.5869,402.41762 C 174.524,395.27145 165.0999,387.85257 153.4307,385.88028 C 134.6411,384.82681 120.7117,398.08776 109.7432,408.92756 C 84.843699,433.88699 65.209099,463.47157 59.118199,495.99773 C 47.938599,549.5786 63.742399,607.2805 103.4619,650.3721 C 112.8504,659.66369 126.3731,666.07947 141.0244,666.93566 C 157.375,669.26223 175.0744,667.51176 189.0244,659.53322 C 206.9842,670.52586 224.8674,681.60705 242.7744,692.66035 C 206.1258,713.59769 156.0535,711.83484 117.5869,694.99649 C 51.555699,667.6748 8.1705986,609.15686 0.95359863,548.24546 C -6.7268014,489.70286 10.055199,427.04421 56.753699,382.10435 C 79.757999,360.82606 115.2943,346.91982 149.8507,353.38221 C 189.74,359.90671 221.2585,384.63495 244.6783,411.28492 C 249.6183,416.95542 254.132,422.8905 258.3994,428.90361 C 261.8971,383.60074 267.3527,337.96699 283.1447,294.39003 C 287.3722,285.43034 291.7896,276.5365 295.4932,267.41554 C 314.0184,276.05248 332.2464,285.17667 350.6494,293.90143 C 326.7366,328.93541 322.8315,370.21691 316.2343,409.46787 C 309.2239,461.22439 307.646,513.55119 311.6285,565.51653 C 341.6937,689.16462 338.9905,816.0554 340.4932,941.63853 C 335.5254,959.93352 334.7748,980.99473 318.4307,995.24033 C 315.1969,996.98633 311.4601,998.13113 307.5869,997.89163 z "/>\r
+    <glyph unicode="e" horiz-adv-x="250" d="M 137.06142,779.169 C 102.80922,776.82703 73.90262,758.89828 48.85432,740.51287 C 20.66652,717.0441 7.6647202,683.47072 6.6497202,650.54752 C 2.3725202,596.8263 12.81342,542.73312 32.69332,491.75277 C 51.52042,445.15536 79.97112,399.79255 124.31142,366.78653 C 141.03202,354.93759 164.74392,346.89631 186.39132,353.59623 C 219.21792,362.64218 241.40092,387.82396 255.14502,413.49475 C 269.40362,440.55206 273.51682,471.15255 267.78022,500.37109 C 249.53882,491.91061 231.29172,483.36773 212.87392,475.30272 C 216.85282,444.63867 207.00022,412.66499 183.53022,388.73134 C 168.28862,398.83991 154.57662,410.55609 141.87392,422.98706 C 109.67542,456.76749 90.29932,498.0207 76.65742,539.45692 C 74.37732,546.63962 72.46752,553.81181 70.74892,561.08669 C 101.51012,552.82701 130.18842,539.88799 160.11822,529.76995 C 174.56342,522.26836 193.53352,516.49059 209.81142,523.36583 C 229.81012,530.97595 237.55512,550.49243 240.70402,567.58372 C 245.15552,589.63299 244.99042,612.2077 249.79532,634.20838 C 253.36602,669.43079 248.28182,707.30833 223.84272,736.90706 C 205.26752,757.04939 178.50832,771.82014 149.21772,778.51268 C 145.21622,779.07858 141.12792,779.24547 137.06142,779.169 z M 114.09272,739.84698 C 135.15112,738.63547 151.88362,726.10795 167.53022,715.43483 C 189.46132,695.58446 194.29512,667.24697 194.34272,641.09569 C 194.05062,617.6315 188.73382,594.5888 183.99892,571.53402 C 151.47352,582.56652 120.06762,596.79124 85.81142,603.53236 C 77.14512,603.99609 70.68492,597.1528 64.65522,594.02997 C 63.74562,607.91373 61.29392,621.82371 61.45172,635.81911 C 61.19662,659.38163 63.79602,683.32506 74.60682,705.19267 C 83.91062,717.54862 94.84932,728.92759 107.24892,739.03324 C 109.49872,739.46139 111.78072,739.81421 114.09272,739.84698 z "/>\r
+    <glyph unicode="f" horiz-adv-x="200" d="M 198.47285,1000.107 C 163.49735,997.88971 131.72265,980.81695 111.05175,957.55918 C 50.835353,897.63621 20.479753,820.05522 12.132953,742.68346 C 6.9984526,698.31377 10.832153,653.44913 19.879053,609.69549 C 17.086453,606.98437 11.943553,606.87138 8.3790526,604.94435 C 3.1441526,603.12323 0.70355256,598.22965 1.6915526,593.63072 C 1.8522526,577.40031 14.657853,563.14032 30.285353,554.545 C 47.021253,472.88863 68.747753,391.73408 77.410353,309.11051 C 79.443653,289.362 78.708353,269.48062 82.097853,249.81244 C 85.500453,223.85968 88.289653,196.19006 74.560753,171.92128 C 71.586053,165.76188 68.984153,159.50467 66.941553,153.08244 C 88.674853,161.465 110.43055,169.80499 132.28535,177.96717 C 146.90535,214.28497 137.53385,253.06418 134.50405,290.28946 C 133.35765,339.86769 121.05675,388.52604 112.11125,437.38104 C 104.36505,474.19087 95.988953,510.90602 88.097853,547.69379 C 114.03985,553.96494 137.59655,566.34982 158.37905,580.53219 C 164.07255,585.59423 166.84505,595.61488 158.59785,599.87815 C 147.96215,604.3825 138.02695,596.29481 128.16575,593.97896 C 112.91225,589.06051 96.810653,582.60655 80.160353,585.3621 C 77.720753,602.96248 73.039253,620.48088 70.560453,638.19477 C 63.547353,680.38751 60.669753,723.71363 68.097853,765.93363 C 78.110253,834.54307 107.67455,902.64622 163.03535,954.51127 C 165.05205,957.2382 168.80015,959.54229 172.55035,957.66781 C 188.83365,955.06718 207.82295,953.38403 219.19155,942.20026 C 220.84295,939.12154 216.75505,936.41282 216.42875,934.28643 C 229.41865,913.71523 233.67245,887.97338 221.87905,866.36484 C 220.21515,856.55197 237.09165,851.26 244.84785,857.78127 C 256.35685,864.50606 273.18625,866.333 280.10315,877.59939 C 293.06325,907.41724 282.53585,941.15814 261.91035,966.58609 C 247.68905,984.31923 225.77955,1001.425 198.47285,1000.107 z "/>\r
+    <glyph unicode="g" horiz-adv-x="270" d="M 141.59348,688.99154 C 84.926583,678.12999 39.268283,641.28677 14.920183,597.99863 C -3.2005165,562.21937 -4.2881165,521.58982 3.6378835,483.63111 C 14.583583,438.30815 43.841883,394.88788 89.718483,368.48294 C 109.56778,358.02343 135.84308,355.22064 157.18728,364.20416 C 169.28638,368.63068 180.16528,375.46378 189.15598,383.49778 C 190.50428,376.53233 191.98878,369.5853 193.40598,362.62922 C 146.83988,332.15963 97.069383,303.94117 60.375383,264.70561 C 36.379983,235.12488 19.896183,198.7199 26.747883,162.45932 C 33.666183,126.32558 62.596783,96.239086 95.741683,74.002106 C 131.47628,47.115126 166.28168,15.854466 213.21848,3.3236155 C 235.05488,-1.8134345 260.97678,4.7387355 272.93728,21.462226 C 286.94618,37.352616 286.28808,58.113796 285.93728,76.980206 C 286.06178,160.48807 263.41318,242.32652 252.91418,324.98962 C 250.44948,337.27774 247.58278,349.51019 245.43728,361.8417 C 263.39038,374.32688 284.97968,384.30653 298.81228,400.37629 C 301.71138,408.28367 288.68408,414.92231 281.06228,410.29862 C 266.53418,405.44031 251.02578,401.50009 239.03098,392.76389 C 235.67778,409.06141 232.73428,425.41668 229.81228,441.77205 C 251.83458,487.97211 256.50278,538.52867 255.09348,587.90401 C 265.40238,608.37449 257.15728,631.73443 244.87478,650.22066 C 237.18368,662.12516 222.18218,673.72969 204.81228,670.82671 C 200.40158,670.6001 196.46398,665.42476 192.85748,669.37871 C 177.49698,678.55502 161.09338,688.43791 141.59348,688.99154 z M 119.06228,653.02947 C 137.20828,649.68087 150.59338,638.06842 165.78098,629.87721 C 169.50938,631.2141 172.62048,633.40239 176.09348,635.10083 C 169.60498,607.93812 169.00398,580.0602 168.37478,552.44074 C 168.43208,514.05992 172.70458,475.7458 179.15598,437.80832 C 170.44918,421.40269 161.19528,404.15524 146.03098,391.47768 C 131.05008,394.0448 121.40068,404.88127 110.01018,412.57816 C 71.978583,443.73737 50.431383,488.06492 50.721583,532.64811 C 49.719683,570.82313 62.887483,610.91061 94.874783,638.82837 C 101.91298,644.55848 109.87018,650.10298 119.06228,653.02947 z M 199.96848,331.2871 C 209.57438,282.34054 215.10408,233.04314 224.21848,184.02041 C 231.18368,137.62911 237.41258,90.103396 232.87478,43.564456 C 215.04228,47.200436 202.38668,59.406776 187.51778,67.733766 C 156.28898,88.065556 124.97038,108.96534 99.530983,134.41452 C 78.706583,158.03883 70.180883,190.09866 81.968483,218.28227 C 92.265683,248.96911 115.90868,275.42732 145.02808,295.20101 C 162.57548,308.31244 181.02458,320.58474 199.68728,332.57342 L 199.86788,331.74719 L 199.96848,331.2871 z "/>\r
+    <glyph unicode="h" horiz-adv-x="270" d="M 23.972705,919.55732 C 7.8664048,915.65892 -7.9822952,908.13902 -19.808595,896.16042 C -22.757095,891.31542 -22.133795,885.10652 -19.808595,880.30682 C -25.166195,852.45702 -13.955995,825.11362 -10.183295,797.81404 C 5.2789048,724.30571 18.710005,649.84202 18.410205,574.38987 C 19.996805,512.01568 9.0062048,450.25645 7.1914048,388.04607 C 7.8476048,373.46073 10.542805,357.6783 20.316405,346.59015 C 28.546405,342.66703 35.935305,350.63527 42.371905,354.57969 C 50.539005,361.19499 59.306205,367.70667 65.535205,376.2197 C 67.482605,382.44961 66.691505,389.38939 69.753905,395.30156 C 78.906005,431.92561 69.120905,469.91033 73.075705,507.07497 C 73.705405,544.53481 76.387905,582.57742 88.535205,618.05124 C 93.536305,634.50198 101.828,649.85848 112.6602,662.89515 C 114.1586,665.33307 114.8309,670.26769 118.7227,669.19184 C 138.1089,673.13636 160.1881,673.28396 176.5977,660.40199 C 200.0392,644.59991 211.6987,616.41844 216.4414,588.96494 C 234.1517,513.27157 236.9678,434.60108 232.065,357.07499 C 231.6843,337.2008 229.7509,316.83125 233.4102,297.27137 C 238.4866,287.65195 252.6487,288.59314 259.3377,295.89868 C 268.8858,301.63285 279.1393,306.05717 288.5977,311.94223 C 286.8285,392.38132 295.4123,473.6035 281.6095,553.33491 C 276.2503,588.68407 270.2076,624.47246 256.5977,657.52534 C 239.5478,691.80369 205.3854,719.18295 166.6914,719.85302 C 132.8372,717.66127 100.6185,702.25446 74.597705,680.50676 C 71.302005,677.41727 67.973405,673.4009 68.724105,681.02201 C 62.544405,736.35203 49.093905,790.55806 41.378905,845.62722 C 41.303205,863.86162 43.147805,883.08582 36.285205,900.25172 C 40.721305,908.67852 33.500305,920.60882 23.972705,919.55732 z "/>\r
+    <glyph unicode="i" horiz-adv-x="180" d="M 116.81704,940.61061 C 88.225838,939.88822 63.787038,923.67016 42.058438,907.83073 C 24.379338,893.60586 8.7710374,872.92809 11.285737,849.92487 C 12.156837,843.36748 14.825437,836.99509 19.223238,831.80531 C 12.541337,810.95484 17.855238,785.7483 36.496938,771.98029 C 50.183738,760.76537 68.397138,753.24898 86.754538,754.16684 C 120.64554,771.41304 154.96914,793.4066 170.69144,827.72015 C 185.09984,860.75267 180.57314,902.25953 154.75734,929.26645 C 144.21284,937.23202 130.34534,941.08417 116.81704,940.61061 z M 97.848238,896.71913 C 109.36894,896.76864 116.57194,885.90307 118.25454,876.37129 C 125.79084,855.68839 122.66484,830.85433 106.16264,814.54947 C 102.38394,809.78595 98.507438,804.62698 93.442038,801.01967 C 82.139138,804.71657 70.939038,815.8083 74.692038,827.7592 C 79.331538,833.99596 87.431238,836.98788 92.760238,842.68169 C 98.772538,847.61371 107.32794,854.53916 104.75454,862.88415 C 101.75274,870.54512 90.717438,873.1217 83.379538,869.48106 C 80.007738,873.35344 73.769638,874.37415 69.192038,874.02562 C 71.793138,883.19319 78.967038,890.60266 86.692038,896.19129 C 90.282338,897.01967 94.154538,896.091 97.848238,896.71913 z M 97.379538,734.28815 C 79.618138,731.63277 59.725138,724.20133 52.160738,707.90042 C 49.871538,699.49139 59.128638,693.71099 60.629538,685.99855 C 79.413338,643.93129 98.628038,601.28193 103.88604,555.5415 C 108.67254,521.23317 106.39174,485.15119 90.962538,453.50754 C 74.835038,416.81428 54.003738,381.82029 41.567038,343.75 C 61.294738,360.48265 88.341438,365.15853 109.75454,379.19745 C 129.67574,425.47968 159.01904,470.09179 162.31704,521.07547 C 164.43614,574.98612 149.99234,628.01483 129.21404,677.89517 C 123.34074,696.60101 118.91284,716.9964 105.09824,732.08903 C 102.94354,733.72091 100.12324,734.48909 97.379538,734.28815 z "/>\r
+    <glyph unicode="j" horiz-adv-x="200" d="M 114.81427,688.36266 C 98.671667,678.46364 82.314367,668.77999 66.407967,658.6218 C 86.512767,646.50848 92.643467,624.66376 96.069367,605.14623 C 111.80107,533.1423 124.48567,460.61033 128.41727,387.41414 C 129.04867,376.49859 129.51287,365.5766 129.78297,354.65054 C 60.101167,327.77583 -13.574933,306.12891 -75.697133,267.40942 C -96.647933,253.71138 -117.36283,236.83724 -123.56073,214.34598 C -128.01473,196.10811 -118.99983,176.39685 -101.53053,165.20131 C -82.139833,151.24326 -58.944133,141.53725 -35.435733,133.41825 C -11.568933,125.97658 15.261367,120.2653 40.369067,127.14054 C 92.127867,139.741 133.51237,174.31021 155.94677,214.82188 C 177.42277,254.01904 182.13437,297.93228 184.68927,340.47566 C 186.21127,344.3292 192.53687,343.03779 195.72047,345.35811 C 225.15977,355.76633 255.47557,369.31278 271.72057,393.42122 C 274.56417,395.73957 274.77947,401.34545 269.43927,400.82366 C 246.62587,399.4592 225.98357,390.47183 205.77847,382.1283 C 198.95707,379.17288 191.58147,377.32607 184.75177,374.54773 C 180.69417,466.53199 166.17687,558.05647 144.90797,648.25312 C 139.73567,663.68737 130.44357,678.37884 116.15797,689.1764 L 115.34687,688.68509 L 114.81427,688.36266 z M 128.28297,317.90096 C 125.43987,279.30549 118.82347,239.54482 96.782967,205.26361 C 83.313967,192.90922 75.328767,176.23516 59.939267,165.49535 C 34.735467,159.57431 8.382667,167.47274 -14.844533,175.58435 C -33.739433,182.9562 -52.399433,192.24832 -65.404533,206.15601 C -71.896733,217.67232 -65.117533,231.14177 -54.654533,239.25693 C -23.376533,269.9368 23.659167,282.67709 66.652967,298.2542 C 87.316967,305.85142 107.83307,313.8928 128.53297,321.36589 C 128.44967,320.21098 128.36637,319.05586 128.28297,317.90096 z "/>\r
+    <glyph unicode="k" horiz-adv-x="300" d="M 8.9537039,343.75 C 12.163704,364.34295 18.291404,384.34547 23.203704,404.625 C 31.601804,435.16841 29.766004,467.11105 29.735004,498.40625 C 29.834504,505.00227 29.763904,511.5722 29.578704,518.15625 C 28.141304,518.94817 26.731704,519.73514 25.297504,520.53125 C 8.7140039,530.36066 -13.012796,538.49897 -19.389996,556.0625 C -24.537396,569.22263 -14.353296,582.37001 -2.7024961,590.46875 C 4.7580039,594.88187 12.154704,599.39054 19.485004,603.96875 C 19.449704,604.14048 19.426604,604.3283 19.391204,604.5 C 5.6981039,667.05066 -3.2040961,730.71427 -22.577496,791.96875 C -34.523796,836.37527 -55.159496,878.93118 -60.983796,924.75 C -42.751596,936.44218 -25.999096,950.38047 -6.6712961,960.28125 C -3.6135961,960.57824 -0.60759612,959.20844 1.2975039,957 C 10.801404,929.16913 18.485104,900.53954 27.360004,872.40625 C 42.109204,827.06468 56.067804,781.32331 65.610004,734.65625 C 70.923604,704.70948 77.669104,674.95711 83.766204,645.125 C 103.6779,657.72466 123.8729,669.9575 145.0162,681.0625 C 173.746,694.67314 202.5046,710.18573 235.5162,714.875 C 240.5081,715.17705 245.3887,712.18582 246.61,708.125 C 247.1071,701.76167 240.7377,696.47676 235.5162,692.4375 C 219.6672,682.56325 204.2284,671.82684 186.3287,664.4375 C 156.5452,653.79351 133.3431,634.69205 108.0787,618.15625 C 102.8141,613.90654 97.059304,610.17426 91.110004,606.65625 C 92.709304,597.32801 94.160204,587.97348 95.391204,578.59375 C 96.175204,568.9705 96.790104,559.33321 97.266204,549.6875 C 195.413,494.04075 302.0505,449.36219 400.985,394.5625 C 379.8873,383.01456 358.6479,371.67226 337.4537,360.25 C 260.6367,404.60524 178.347,441.78048 98.391204,482.0625 C 98.334204,477.79947 98.240804,473.54212 98.141204,469.28125 C 99.197304,437.7523 88.408904,407.42101 81.672504,377.03125 C 57.374604,366.10602 33.193004,354.89916 8.9537039,343.75 z "/>\r
+    <glyph unicode="l" horiz-adv-x="200" d="M 130.13869,958.2869 C 106.66989,946.8802 83.203887,935.46809 59.763687,924.00782 C 39.840387,867.66058 16.077287,811.16208 12.594987,750.98933 C 5.9021868,689.28184 -2.3558132,626.15167 11.357487,564.80904 C 18.056087,531.74615 31.601587,500.33293 49.312787,471.35746 C 72.721687,431.88503 101.61299,394.81054 137.41999,364.99189 C 164.25209,345.46552 202.52389,336.43103 234.17949,350.79177 C 252.81249,358.90323 269.94999,370.22291 285.10749,383.34184 C 290.94989,392.49752 280.01439,405.90147 269.41999,401.72177 C 263.72209,400.10316 258.12299,396.49301 251.89439,397.9433 C 230.24869,395.46478 205.56849,397.30315 189.54499,413.01858 C 150.49929,444.83528 122.72179,487.22844 99.497987,530.56014 C 82.951487,563.27748 74.502387,599.13835 72.730187,635.36763 C 69.775587,684.72699 77.580087,733.9468 82.680787,782.8777 C 87.742187,820.53228 97.832687,857.34224 112.93959,892.42378 C 121.19109,914.62825 128.25899,937.24332 134.04499,960.1698 C 132.74289,959.5421 131.44079,958.9145 130.13869,958.2869 z "/>\r
+    <glyph unicode="m" horiz-adv-x="550" d="M 190.88772,698.6455 C 152.91142,683.8891 115.13102,662.3072 98.012716,629.08393 C 80.205516,594.74873 81.048616,555.50256 71.606516,520.0164 C 59.008316,548.91688 49.217316,578.73629 34.121916,606.83073 C 20.810516,634.9878 7.2007157,663.04447 -6.1434843,691.19062 C -27.183684,682.13239 -48.283284,673.17176 -69.299784,664.07463 C -40.643384,610.78093 -14.313084,556.46353 11.539616,502.12875 C 26.384116,462.33666 23.357616,418.53735 43.512716,380.00067 C 46.959616,375.80617 52.368816,371.52853 50.612716,365.87895 C 50.896116,359.38452 51.175716,352.88998 51.606516,346.40107 C 72.316816,350.33452 86.724816,365.29879 106.88772,370.34075 C 112.69162,372.34051 117.12462,377.68586 114.93022,383.0182 C 110.93852,454.2137 136.14582,523.26794 146.01272,593.38438 C 150.11812,611.44048 157.81012,629.71091 168.04402,645.46365 C 192.27122,624.36088 195.43612,593.58758 203.54972,566.28389 C 209.59262,544.06044 212.67182,520.61144 206.36802,498.15223 C 201.16992,473.049 191.49562,448.16386 192.20022,422.47267 C 196.57602,414.77484 209.12622,415.67661 216.54402,419.40145 C 233.39232,425.36254 251.97002,432.83084 258.95022,448.19736 C 270.00342,465.43576 278.61282,483.67301 283.08402,502.98432 C 292.11062,535.52859 299.10982,569.06097 318.04402,598.7393 C 326.57312,613.9923 332.75232,630.61632 344.41902,644.30874 C 351.86452,645.51588 358.95012,642.11223 366.16902,641.2112 C 406.38552,630.71038 436.10902,603.02931 456.73992,573.26245 C 478.79722,542.40372 490.77392,506.92755 493.47992,471.01189 C 498.43592,425.74865 496.67132,380.12833 494.13772,334.85126 C 494.94832,330.82833 500.53972,332.65142 502.81302,334.59759 C 521.76372,342.55918 540.68112,350.57663 559.60652,358.58097 C 560.82902,419.12333 563.70442,480.64278 547.46722,540.01504 C 533.46882,583.26603 506.06802,623.95084 466.60452,654.23356 C 437.66682,676.41237 396.84972,692.26728 357.23012,683.16442 C 327.69982,677.25879 303.05152,660.70313 285.63382,640.22276 C 276.24712,629.60801 268.50462,617.97861 261.76272,606.03665 C 254.41752,635.9135 242.84262,667.79759 213.88772,687.85689 C 206.98202,692.17926 199.06792,697.13174 190.88772,698.6455 z "/>\r
+    <glyph unicode="n" horiz-adv-x="320" d="M 47.105883,772.53106 C 25.114383,760.7355 3.1723834,748.83609 -18.769117,736.93638 C -6.6879166,666.49251 10.808683,597.16349 21.647083,526.48988 C 24.883983,485.71216 13.804683,443.80607 25.043383,403.84667 C 27.338483,399.21882 31.023183,394.80353 29.355883,389.15093 C 29.379183,378.90524 40.731583,369.86678 49.574583,375.61635 C 55.701583,378.91678 61.053983,384.65439 68.355883,384.57313 C 79.741783,387.96075 89.307983,395.60115 99.480883,401.82308 C 102.45778,483.47549 97.528483,565.12457 94.478983,646.66825 C 94.938083,651.5146 95.070383,656.46957 96.480883,661.13623 C 124.41838,654.79787 150.41748,640.16061 174.07458,623.45169 C 225.36678,583.65939 257.39968,517.89373 257.01748,450.25722 C 258.22958,408.38827 249.26288,367.41276 243.60588,326.25496 C 242.38238,307.80379 243.30668,289.2978 242.94958,270.82302 C 265.96188,283.45365 288.83988,296.37135 311.76208,309.20404 C 308.96508,358.41477 325.85338,405.91104 324.83828,455.06559 C 326.14168,509.51211 314.10988,565.23111 284.60588,610.24891 C 254.11658,659.02067 207.39278,695.25846 154.91308,712.81337 C 128.46838,723.48805 97.255483,730.11878 70.574583,716.46871 C 66.541283,714.5218 62.724383,712.24913 59.105883,709.50243 C 55.184983,730.84565 51.717483,752.32652 49.699583,773.92434 C 48.834983,773.45988 47.970383,772.99542 47.105883,772.53106 z "/>\r
+    <glyph unicode="o" horiz-adv-x="320" d="M 232.88742,712.23859 C 225.99782,711.59371 220.54992,704.81367 213.26242,707.00686 C 166.08752,703.49344 121.79792,685.59705 82.093722,663.59293 C 45.605522,641.36698 18.237822,607.01243 8.8963222,568.31854 C -8.1920778,511.67467 0.16492222,449.19831 32.400622,398.0876 C 43.723122,379.68773 58.713722,362.0141 80.574922,352.84049 C 109.66032,339.4446 146.09192,338.08264 175.87912,350.91564 C 210.37362,363.395 243.96462,380.2295 269.76242,404.40567 C 296.18442,429.60597 311.80832,462.38622 318.88742,495.98759 C 328.52382,535.36391 326.18702,577.50401 308.69602,614.78517 C 298.49932,639.58416 284.33172,663.18611 266.76242,684.2715 C 270.55502,691.60621 262.98702,699.01021 255.29372,700.8847 C 245.73842,701.69168 243.05722,712.90896 232.88742,712.23859 z M 195.07492,658.47492 C 200.46452,656.75098 201.70392,650.67835 206.04372,647.64989 C 232.33672,616.38424 249.89652,578.9876 255.78582,540.20943 C 258.87812,505.48853 251.10522,470.39628 236.57492,438.32803 C 225.04692,416.07701 203.97702,395.46263 175.76242,391.27083 C 145.12692,386.44883 111.71112,401.06362 98.731222,426.52892 C 70.204122,469.52823 60.389822,522.46141 74.074922,571.23431 C 80.003222,596.07139 89.510722,622.23817 110.69992,639.99722 C 127.42542,648.86546 146.77402,652.01159 165.41112,656.23627 C 175.17582,657.73359 185.12542,658.47721 195.07492,658.47492 z "/>\r
+    <glyph unicode="p" horiz-adv-x="500" d="M 134.67644,714.91571 C 118.16094,714.25055 100.88204,710.15125 89.613935,699.50716 C 79.909335,692.6802 65.197035,688.32109 62.176435,676.77503 C 60.653935,673.32311 65.207335,670.15044 62.363935,667.19377 C 58.389635,659.92056 55.206735,652.2992 52.676435,644.56663 C 38.456535,645.538 22.859335,649.22059 9.1483354,644.49327 C -14.057265,630.35491 -37.241765,616.19168 -60.323565,601.91088 C -25.777265,601.29618 8.7835354,600.00913 43.145235,596.84468 C 38.002335,539.73927 44.285235,482.35096 38.363935,425.27676 C 30.991335,427.84201 23.534035,430.25316 15.988935,432.36415 C -6.4972646,419.81072 -28.808865,407.03098 -51.354765,394.56464 C -22.882665,387.56423 3.8436354,376.38514 31.926435,368.55122 C 24.404035,322.23358 22.918535,274.58021 4.3911354,230.0635 C 0.42533536,218.4881 -3.3895646,205.86412 0.27023536,193.88595 C 5.9151354,183.72464 23.397735,181.62614 33.270335,188.59606 C 46.924635,195.16124 61.263935,200.92933 74.145235,208.42822 C 80.536435,216.37919 75.209535,226.75942 79.869035,235.19389 C 85.543935,249.44691 91.312735,263.71367 93.427135,278.71447 C 98.512335,305.19109 98.827735,332.15487 99.051435,358.94384 C 194.82224,356.87499 288.08564,382.90568 372.70774,418.63562 C 415.24674,436.13446 457.82744,458.59461 482.15094,493.75177 C 492.63204,508.66424 501.43444,527.10375 493.80144,544.31916 C 483.42474,567.53343 456.41774,581.97561 429.30144,589.02232 C 373.69814,604.55437 313.80734,603.43754 257.61014,616.81793 C 215.88324,623.78317 173.95564,629.8659 131.98894,635.72045 C 133.43104,654.03323 134.27374,674.49362 121.27024,690.05731 C 130.43814,696.07053 135.45624,705.80234 137.58274,715.30952 C 136.61394,715.17822 135.64514,715.04691 134.67644,714.91571 z M 132.86394,586.31858 C 180.08204,580.02662 226.83244,571.52161 273.72694,563.82431 C 319.46804,557.86269 368.06794,555.98383 408.98894,536.54923 C 419.23604,531.05457 430.17444,521.49277 427.17644,510.45705 C 421.53194,495.59463 411.73534,481.56146 399.14524,470.00624 C 385.49694,457.81634 367.11554,450.33889 348.68444,444.58599 C 276.03504,418.32026 197.02114,400.0363 117.15114,405.39247 C 110.98354,405.89376 104.83484,406.74194 98.738935,407.84701 C 96.933735,468.52192 115.15064,527.67236 125.77024,587.28975 C 128.13474,586.96606 130.49934,586.64237 132.86394,586.31858 z "/>\r
+    <glyph unicode="q" horiz-adv-x="400" d="M 407.29139,752.87318 C 381.84679,753.72334 355.38439,745.45222 338.19759,727.48029 C 335.80579,733.76039 327.30299,731.09026 321.91639,732.12385 C 259.85679,735.7049 199.94939,712.20679 149.80409,679.63943 C 109.02929,654.22021 73.393893,621.13085 48.610393,581.31722 C 19.219893,537.03399 -0.52260724,484.42627 5.6095928,431.5909 C 9.4058928,403.5335 19.847693,375.03568 41.572593,355.13984 C 68.816593,344.54871 99.935793,352.69799 124.38509,365.95529 C 187.42119,400.38174 234.48319,454.11972 282.76009,504.2935 C 262.96349,402.8314 237.90409,301.89067 229.04139,198.90316 C 230.18249,187.46947 241.21759,177.10016 236.07259,165.39866 C 239.03019,160.50778 245.02949,166.04977 248.28149,167.73979 C 266.81239,177.96936 285.56309,188.08948 304.22889,198.19773 C 305.99379,209.20015 293.88459,218.29011 298.25019,229.25955 C 309.70559,356.4968 344.13259,480.57439 365.32739,606.47216 C 373.82519,632.00894 389.37179,655.07734 395.79629,681.29885 C 403.09829,704.66951 407.61459,728.7843 409.63509,753.04954 C 408.85379,752.99075 408.07259,752.93197 407.29139,752.87318 z M 332.16639,720.27981 C 309.17949,687.08078 307.88179,646.20671 300.29139,608.36308 C 295.29929,593.71521 284.47089,581.43126 276.00859,568.35093 C 238.86499,517.8852 191.41259,475.51017 146.70149,430.984 C 132.42789,418.18647 117.77179,404.8657 99.353893,397.54931 C 92.835193,398.37626 91.207993,405.98544 87.510093,410.12823 C 64.549693,446.73018 67.772893,492.92806 84.098093,531.32615 C 103.30389,578.77611 135.78999,621.47857 177.47889,653.44715 C 203.46409,672.11962 236.02149,681.94841 268.72889,680.63275 C 282.45249,682.33275 291.04749,693.96403 302.41639,700.17712 C 312.21179,706.82076 322.93969,714.06047 332.16639,720.27981 z "/>\r
+    <glyph unicode="r" horiz-adv-x="400" d="M 387.40727,713.59355 C 323.24597,713.3814 256.77937,698.45541 207.91037,662.39939 C 192.90647,650.65127 180.93637,636.19723 171.78227,620.80106 C 135.11837,647.58858 90.447269,664.97972 48.250969,684.87639 C 28.213569,672.63042 8.1445693,660.42075 -11.874031,648.15323 C 37.603269,628.58785 90.007569,610.50979 128.62597,577.33157 C 136.57667,569.75246 145.28357,562.06785 149.28227,552.47306 C 149.87887,541.83709 147.17517,531.27395 147.82597,520.60634 C 146.88747,471.18846 153.60367,421.53418 169.06347,373.87029 C 173.18257,363.33108 180.39987,350.95161 194.53227,348.38189 C 208.05297,346.77168 218.82657,356.15983 224.56217,365.36892 C 235.96607,380.95758 242.82247,398.66877 248.84477,416.21099 C 253.96007,442.12161 250.37507,468.66524 246.53927,494.54652 C 241.16667,522.70911 230.69797,550.29955 214.15727,575.23162 C 219.52097,604.09745 232.17637,632.95413 256.28227,654.55808 C 281.46907,659.92893 305.11757,672.4216 331.87287,670.8736 C 379.64817,673.05326 427.46317,668.44736 474.15727,660.17551 C 495.63797,672.53854 516.88687,685.14858 538.21977,697.71262 C 488.57577,706.40398 438.30167,714.08006 387.40727,713.59355 z "/>\r
+    <glyph unicode="s" horiz-adv-x="300" d="M 196.1645,741.55796 C 158.9498,738.77859 127.1968,717.96756 96.019897,699.95557 C 69.358497,682.49638 42.526897,662.19768 28.352497,633.48511 C 14.397897,599.64714 16.069097,557.32621 40.883297,528.66306 C 61.331697,506.42453 93.224997,498.2973 123.1958,497.74326 C 158.4535,494.88752 195.6447,487.26897 222.477,463.58316 C 234.0492,453.75271 238.8758,438.49908 236.977,423.88128 C 236.1623,419.27174 235.3372,412.95283 231.4291,410.20956 C 196.5382,404.1825 161.0105,391.67911 125.4458,399.86616 C 85.394397,408.55939 51.458297,432.51094 18.633297,455.19468 C 8.8434971,459.49905 -0.62960287,452.32895 -8.0671029,446.93865 C -21.277703,438.64423 -34.688303,430.63572 -48.023003,422.51838 C -4.9424029,393.67658 38.105697,360.69741 90.664497,350.71567 C 155.089,339.45667 222.0039,358.65749 275.5278,393.31731 C 301.7091,412.43822 308.0898,449.75912 296.2583,478.33144 C 286.9624,502.50512 263.318,517.72639 240.1958,528.17852 C 208.5978,542.08018 173.5568,545.25815 139.4265,548.37588 C 120.09,550.72773 98.953597,559.15013 90.633297,577.4805 C 80.674497,598.60564 82.936097,624.48993 93.664497,645.10411 C 106.9145,669.10184 131.6372,687.90073 159.5083,692.01376 C 187.6803,694.22338 211.5257,676.66878 232.6645,660.82147 C 242.9283,652.84573 252.4422,644.28266 262.0395,635.59505 C 281.654,649.41087 301.3185,663.16041 320.852,677.08382 C 287.8304,698.94363 258.9281,729.02128 219.0395,738.98387 C 211.6179,740.94274 203.8936,741.81891 196.1645,741.55796 z "/>\r
+    <glyph unicode="t" horiz-adv-x="300" d="M 260.5372,966.24459 C 220.0084,960.31259 187.9435,936.30454 163.6012,910.60783 C 133.6615,878.80604 108.1785,844.16341 84.849401,808.8735 C 73.926001,791.59733 63.785201,774.01047 54.683801,756.038 C 26.053601,766.00931 1.2277008,782.47275 -17.876899,802.28708 C -37.808799,790.49533 -57.839399,778.83854 -77.636599,766.88752 C -47.817499,739.86648 -9.5656992,719.06684 33.359601,708.36328 C 4.1576008,630.71679 -2.6363992,546.77156 18.414601,467.1997 C 29.987301,426.89835 50.843101,386.86243 88.322901,358.11585 C 107.7207,344.63873 135.5925,338.87278 160.1646,345.67149 C 187.6196,351.82402 212.2462,364.21402 234.6111,378.20479 C 254.1201,394.56451 257.4849,418.76696 272.2917,437.68988 C 270.0445,437.37182 263.7625,433.35175 259.6778,431.71746 C 237.4722,421.44007 211.5905,415.69288 191.671,402.46437 C 186.8589,396.52426 185.4672,387.99697 178.2866,383.82744 C 146.956,386.43833 122.0488,406.94858 109.9176,429.66598 C 73.997901,485.83179 67.826401,551.12277 73.814101,613.40794 C 76.605701,643.17953 82.308301,672.81364 92.438801,701.52633 C 115.4185,701.25111 139.1546,699.25141 161.4994,704.48289 C 186.3368,719.97033 211.3303,735.29427 235.9399,751.02233 C 194.3985,745.40815 152.037,741.37405 109.9064,744.92451 C 140.1926,810.51214 183.9638,872.1159 240.9074,924.6556 C 247.1664,930.7752 250.8634,938.70266 257.2316,944.51908 C 265.296,948.13464 272.4959,957.33462 266.403,964.37029 C 264.9721,965.69139 262.7138,966.47189 260.5372,966.24459 z "/>\r
+    <glyph unicode="u" horiz-adv-x="300" d="M 143.82196,719.75843 C 115.29246,719.2125 86.886961,709.49453 65.470961,691.47401 C 48.029361,677.56746 36.385461,658.13951 29.759461,637.46562 C 18.016061,605.04059 10.322861,571.06226 7.3857606,536.8335 C 5.2995606,474.16673 32.811161,411.17087 80.978161,368.90176 C 102.90526,351.40948 134.19436,342.90374 161.81256,352.26474 C 184.11466,358.66387 204.99356,369.19299 224.04066,381.89531 C 249.19716,404.64044 260.99126,437.50756 267.56556,469.3696 C 276.18516,515.53314 273.22276,562.73579 273.82196,609.41748 C 273.06186,632.83923 266.11266,656.22747 252.00946,675.4906 C 245.62466,685.14615 248.57256,697.15563 243.64966,707.36887 C 240.39186,708.98252 233.95666,702.99468 229.47836,701.69453 C 213.57756,693.83678 197.64596,686.04896 181.85316,677.99967 C 182.08706,660.67334 187.35326,643.18127 199.16566,629.8786 C 215.08976,599.77265 208.89676,564.83471 209.90556,532.23259 C 209.84106,488.97265 208.46256,443.20584 184.72816,405.16431 C 182.53756,402.55661 181.69886,396.46973 176.88546,398.27908 C 155.57916,399.0792 132.35236,405.40237 119.84546,423.20408 C 80.049461,468.20574 60.785861,531.13543 75.913861,589.08278 C 83.494161,622.09692 96.949861,653.74816 110.38446,684.95949 C 120.40326,691.84732 130.99236,698.28911 138.32196,707.9895 C 141.79336,711.95625 145.08176,716.11808 148.47816,720.17659 C 146.92606,720.03717 145.37396,719.89775 143.82196,719.75843 z "/>\r
+    <glyph unicode="v" horiz-adv-x="300" d="M 302.42197,734.39486 C 282.02297,728.67141 261.23597,722.03651 243.92197,709.931 C 226.00297,694.45762 212.72797,674.52495 194.80897,658.98447 C 160.45897,623.36596 147.20177,574.83798 133.32897,529.44209 C 128.80947,514.25453 124.54727,499.09142 119.60937,484.0517 C 107.83667,527.97015 90.993871,570.39231 73.140571,612.29862 C 62.816171,641.00089 56.103971,673.1914 66.203171,702.79211 C 69.329771,707.46116 68.999071,716.75661 61.453171,716.68169 C 53.513471,715.59473 47.561371,709.63395 40.043671,707.2127 C 27.276671,701.02354 14.529071,694.79806 1.7968712,688.54387 C -10.046429,651.74257 0.46327124,612.53178 14.276671,577.63629 C 33.252571,532.68602 50.796871,487.22895 62.046871,439.90342 C 70.178471,412.09386 77.410371,383.0756 94.390671,358.89516 C 104.41147,347.94965 123.57037,341.96889 136.64067,351.577 C 144.78377,358.34955 151.21107,366.98472 158.64097,374.33815 C 161.20297,379.64334 157.36797,386.0792 161.30797,390.98402 C 178.40897,438.38987 177.54197,489.99854 194.85597,537.30649 C 207.41897,578.12343 219.01997,621.74493 248.92197,654.25278 C 262.58497,668.37148 276.83197,681.97785 289.28297,697.07604 C 296.14497,704.96063 305.04997,711.46172 311.79697,719.42975 C 315.14697,725.87258 310.65297,735.01726 302.42197,734.39486 z "/>\r
+    <glyph unicode="w" horiz-adv-x="700" d="M 102.5163,736.81337 C 76.567303,726.52044 50.742303,715.95157 24.641303,706.01708 C 3.413303,618.988 -9.165697,528.59699 2.238303,439.3225 C 8.529303,407.34289 25.064303,374.60604 55.922303,358.38634 C 87.830303,342.50033 127.3993,348.36986 157.7973,364.7786 C 210.6293,390.31029 247.9473,435.97577 284.1053,479.53588 C 297.3183,495.93703 309.7823,512.84831 321.6103,530.20034 C 326.5153,482.67255 333.1913,435.06755 345.3363,388.7058 C 355.3893,362.54766 380.0313,340.02039 410.2033,338.67196 C 447.6443,335.75192 481.9743,353.61231 513.3393,370.8093 C 589.8833,413.39804 660.9413,464.9934 725.2033,523.21075 C 784.6743,577.16774 838.8693,636.62552 887.6723,699.7144 C 884.9673,704.64534 878.4353,703.88039 874.5563,700.88002 C 846.2783,687.43461 813.6253,681.57662 787.7033,663.51168 C 704.8233,567.14824 609.4963,478.87675 495.8443,416.1153 C 475.9663,405.33585 453.9083,393.5534 430.1413,395.87362 C 415.5083,397.73052 408.8133,412.95564 405.6723,425.05689 C 394.1093,480.31882 391.6953,537.1637 391.2973,593.5254 C 391.8893,613.98641 396.9783,633.95748 399.9533,654.13237 C 400.2283,667.22413 391.7073,682.22202 376.8913,683.46495 C 359.2263,685.37429 343.0353,675.69866 330.0783,665.39345 C 318.6133,653.03937 316.5463,635.77776 307.9613,621.75603 C 269.2183,543.5981 214.8333,472.11585 147.6983,414.4102 C 132.8993,404.56695 111.1323,398.55769 95.453303,410.03216 C 74.497303,425.20942 67.674303,451.77595 65.259303,475.68223 C 60.361303,524.48708 67.264303,573.41366 72.517303,621.90846 C 79.043303,661.98043 90.428303,701.22702 106.9853,738.60556 C 105.4953,738.00813 104.0053,737.4108 102.5163,736.81337 z "/>\r
+    <glyph unicode="x" horiz-adv-x="300" d="M 402.2624,720.41558 C 372.0794,720.15703 345.1394,705.12315 320.6164,689.81926 C 261.7534,656.80627 204.5774,621.05063 148.8564,583.40043 C 122.2334,614.45413 97.240405,646.77761 74.794405,680.71786 C 54.224405,668.25079 33.327405,656.34577 12.731405,643.94757 C 38.100405,609.89162 65.395405,577.21158 93.762405,545.37555 C 29.594405,498.91183 -34.619595,452.47798 -98.793595,406.05931 C -115.0096,393.51587 -131.4226,380.68869 -142.7996,363.82381 C -146.9316,347.69432 -124.9396,332.72026 -110.5496,342.34699 C -66.407595,360.66852 -32.845595,395.34593 6.5914047,420.84463 C 46.711405,450.27304 86.804405,479.73433 127.1064,508.93373 C 163.6584,470.17013 200.8224,431.97066 238.2314,393.96285 C 258.6574,405.93311 279.0884,417.89452 299.5124,429.86696 C 258.9364,467.96789 218.7544,506.67708 181.0124,547.31704 C 244.0664,592.45803 311.8524,631.21205 378.5924,671.23523 C 393.8734,682.98013 406.1694,701.00793 404.3564,720.56489 C 403.6584,720.51505 402.9604,720.46521 402.2624,720.41558 z "/>\r
+    <glyph unicode="y" horiz-adv-x="450" d="M 56.675615,717.30011 C 25.547615,713.53594 3.8896153,687.62012 2.9136153,662.12558 C -0.23438467,624.3655 11.454615,587.21502 21.393615,550.82471 C 46.901615,476.7692 103.47962,408.79641 183.61262,369.93813 C 207.60562,358.24245 236.07962,352.93164 263.83162,355.4483 C 245.36362,349.00475 225.93562,344.75323 207.91262,337.34631 C 139.22762,312.56501 74.265615,277.55267 26.267615,228.95862 C 11.815615,212.92891 6.4186153,191.07358 14.362615,171.83188 C 23.808615,144.9013 50.352615,125.32998 77.027615,109.88438 C 105.83262,92.897141 137.53762,78.833171 171.26262,70.128181 C 209.36162,66.538921 245.89762,84.871781 267.76862,110.01382 C 306.02562,151.82783 321.76862,203.96214 337.33662,254.23914 C 345.65862,282.82259 352.61662,311.6314 360.14362,340.38091 C 420.58762,351.79879 482.58362,357.7475 542.55062,371.06682 C 563.63762,381.29504 580.87762,396.02157 597.09962,411.05858 C 599.76862,414.2712 606.62962,419.58804 606.63662,421.41477 C 527.75762,406.52613 447.68462,395.6135 368.95662,380.0443 C 371.94362,398.4553 373.17162,418.70667 388.17762,433.51665 C 426.95962,485.15175 450.71162,545.84996 448.76862,607.34018 C 447.62362,618.64714 439.59562,631.31929 424.98762,632.93367 C 406.99462,635.48466 389.90662,626.25861 378.01862,615.79254 C 366.22962,603.36844 364.43162,586.98935 357.95562,572.48828 C 340.34462,522.90538 329.96462,471.73557 320.58162,420.62621 C 299.14062,398.16959 257.52062,390.48509 227.89362,405.92641 C 179.09162,426.56015 141.48762,461.95849 113.20662,500.60899 C 86.186615,539.14068 68.050615,583.37136 69.353615,628.57311 C 71.647615,650.23679 75.326615,672.65647 69.956615,694.01665 C 77.801615,702.52967 70.513615,718.14975 56.675615,717.30011 z M 301.51862,326.57362 C 296.12662,307.78494 292.25962,288.72313 286.30662,269.99343 C 271.87662,221.79673 252.97462,173.82394 220.95862,131.75397 C 214.03962,123.78791 205.23962,115.9902 193.17562,113.97754 C 174.97562,117.96031 159.31962,127.76361 142.20762,134.17772 C 113.77762,147.57673 84.782615,164.59508 71.675615,190.6266 C 66.748615,204.49881 74.347615,219.87376 87.853615,228.38678 C 140.39762,275.89793 212.52962,304.9319 285.73762,323.3712 C 290.66562,324.27411 298.05462,327.16284 301.51862,326.57362 z "/>\r
+    <glyph unicode="z" horiz-adv-x="450" d="M 87.354795,765.50427 C 68.417795,762.25055 51.917795,749.6094 42.636795,733.84169 C 40.850795,723.42348 50.980795,714.08329 61.386795,714.03772 C 82.286795,694.4921 112.78979,691.23609 139.72979,683.62972 C 216.30679,665.5808 295.81179,660.88698 372.21279,642.26341 C 382.20379,639.24817 391.93379,635.48785 401.26179,630.93855 C 303.05079,553.72484 180.83879,511.10426 79.474795,437.96436 C 55.523795,421.52169 30.298795,403.46642 18.448795,376.92144 C 14.194795,359.34135 31.247795,341.63182 49.691795,342.60652 C 74.340795,340.29754 98.953795,345.15013 123.63479,344.09802 C 199.94579,346.08602 276.44979,342.34276 352.63679,347.43934 C 376.85379,356.53253 394.17079,376.01894 414.25279,391.01777 C 420.90279,396.84454 427.46779,402.74008 433.82379,408.88263 C 388.25879,395.6374 340.21779,392.84606 292.72979,393.14092 C 235.37679,394.18346 178.02179,393.32051 120.67079,392.46639 C 110.14879,392.32593 99.627795,392.18308 89.104795,392.06561 C 128.51879,424.79393 172.91279,451.06622 217.50979,476.78768 C 297.88479,521.32655 384.11379,559.18235 453.66779,619.07994 C 463.30079,627.66912 467.61979,641.85472 462.04279,653.61002 C 455.91979,669.56284 439.17079,678.43295 423.13679,683.54014 C 369.89579,703.54335 311.41879,701.27432 256.34379,714.2585 C 225.08379,720.89465 195.66479,733.0062 165.63779,743.11747 C 144.78779,749.70971 123.18579,754.69703 101.44879,757.0211 C 98.679795,761.84945 93.368795,765.81224 87.354795,765.50427 z "/>\r
+    \r
+    \r
+    <glyph unicode="." horiz-adv-x="200" d="M 55.585367,409.10362 C 7.8423655,411.14062 85.866367,350.69062 60.458367,406.13862 C 65.830367,440.55062 89.644367,459.41062 119.88037,472.10162 C 80.964367,504.83162 122.45637,495.51562 113.96737,424.62762 C 107.41337,401.79862 92.039367,391.06362 73.733367,379.31162 L 119.43237,348.73762 C 138.42437,362.06562 154.83937,374.48762 161.86337,398.47062 C 176.55137,465.10762 137.48937,488.96562 74.687367,503.25462 C 42.857367,490.12062 17.270366,465.93762 11.301366,430.76562 C 22.070366,394.54662 60.182367,363.52862 100.50637,376.46662 L 55.585367,409.10362 z "/>\r
+    <glyph unicode=":" horiz-adv-x="250" d="M 93.641678,456.21979 C 54.940408,456.41772 40.825408,471.39867 38.624728,508.50166 C 46.156858,546.87169 86.934438,577.41105 125.40007,568.83668 C 123.54235,570.58054 121.55407,572.40791 119.4502,574.31785 L 175.81946,609.18641 C 197.02002,592.18206 205.10579,579.42474 200.08255,550.95966 C 164.8335,433.23425 168.51049,521.17249 94.105308,456.21979 C 93.952738,456.22006 93.793498,456.21898 93.641678,456.21979 z M 145.49053,494.29286 C 145.71801,494.32322 145.95638,494.30298 146.18597,494.33496 C 152.13101,497.47754 158.01906,500.65155 163.91972,503.86375 C 165.97167,504.98076 167.0683,505.58763 167.35822,505.76114 C 166.27074,505.24102 156.75182,500.23707 145.49053,494.29286 z M 120.37745,495.13612 C 128.10715,505.04728 136.64392,516.39453 138.88392,523.80682 C 142.96679,539.38493 141.45698,548.734 136.14074,556.86245 L 99.630248,532.57668 C 100.87907,511.62454 106.58513,499.41433 120.37745,495.13612 z M 69.108198,687.06116 C 53.911278,687.50708 40.106348,696.57107 27.265887,720.03247 C 8.4168309,814.85909 49.200348,817.01634 77.337498,824.38532 L 121.65248,852.9717 C 134.05318,849.08746 147.89495,848.92002 157.66077,839.35318 C 183.40759,803.69492 198.83781,767.52235 162.41288,731.6694 C 125.61828,711.09719 95.298498,686.29252 69.108198,687.06116 z M 133.8613,722.94163 C 133.91718,722.95499 133.95378,722.97617 133.97715,722.98386 C 133.95526,722.98103 133.90556,722.95 133.8613,722.94163 z M 114.62082,724.92335 C 132.42542,751.40834 120.305,779.09911 99.823358,806.71918 C 99.615408,806.89795 99.416238,807.05446 99.205198,807.22513 C 94.689848,790.13281 84.277178,763.86289 86.803258,749.96805 C 95.418418,735.05888 105.79029,728.08239 114.62082,724.92335 z M 33.795348,790.27569 C 33.798563,790.27528 33.828977,790.27488 33.833922,790.27569 C 33.83726,790.2765 33.83009,790.3167 33.833922,790.31778 C 33.845296,790.32102 33.895986,790.31239 33.911193,790.31778 C 35.866706,791.07455 60.917718,804.87589 79.385238,814.7722 C 79.121898,814.81727 78.837548,814.85464 78.573838,814.89876 C 64.100918,807.34872 46.711598,798.14711 37.349818,792.55248 C 35.103763,791.21028 34.014427,790.48792 33.833922,790.31778 C 33.826257,790.30915 33.795843,790.28014 33.795348,790.27569 z M 39.822488,795.88327 C 56.085748,804.0159 68.592278,810.24911 78.032938,814.98309 C 75.515138,815.39783 72.968408,815.77696 70.460378,816.24797 L 39.822488,795.88327 z M 88.271408,828.09565 C 90.989738,829.36148 93.370678,830.86935 95.341638,832.81788 L 88.271408,828.09565 z "/>\r
+    <glyph unicode='"' horiz-adv-x="250" d="M 53.753525,994.54472 L 4.2855255,973.39822 C 10.451525,944.95025 26.532525,918.19815 39.222525,891.28055 C 52.768525,865.73985 64.463525,839.51335 77.472525,813.80565 L 125.03553,836.52625 C 111.82153,862.02915 99.887525,888.02985 86.441525,913.47565 C 74.152525,939.85925 58.226525,966.42162 53.753525,994.54472 z M 150.81653,994.54472 L 101.31653,973.39822 C 114.55053,946.19865 133.61753,919.95695 152.72253,894.95355 C 167.87253,872.71905 176.97653,847.83835 186.59753,823.59225 L 234.66053,846.02315 C 224.74753,870.46145 215.38653,895.52525 199.84753,917.88325 C 181.34753,942.11255 162.18853,967.78502 150.81653,994.54472 z "/>\r
+    <glyph unicode="!" horiz-adv-x="500" d="M 92.734266,951.7327 L 9.8907663,929.0028 C 11.383066,921.1715 13.629766,913.3889 16.484766,905.6525 L -49.978434,879.6249 C -23.266534,877.4202 3.6477663,876.0291 30.719366,875.2257 C 52.550566,836.0936 86.036166,798.0412 113.35357,760.5907 C 176.79817,690.2033 213.34417,615.1411 256.17087,541.0511 L 336.18807,564.9371 C 323.56407,586.2103 311.26607,607.5214 298.66507,628.7829 L 320.12207,634.6202 C 324.98307,673.2721 334.67107,711.4773 352.51607,749.1133 C 383.90607,813.5526 436.15707,873.3863 508.52207,927.5655 C 484.57407,933.0234 362.14207,915.2763 275.37717,904.3839 C 219.96817,902.8996 163.22737,901.5706 107.38757,903.4814 C 99.768566,919.3992 94.436566,935.4749 92.734266,951.7327 z M 424.26507,907.8253 C 353.68307,852.9013 302.16107,793.0123 271.71387,728.2732 C 266.47557,717.03 261.88057,705.7423 257.89787,694.4052 C 237.93507,724.6347 216.08727,754.5402 190.38807,783.7437 C 168.80567,813.3218 143.27417,843.553 123.66317,874.4642 C 150.34237,874.7094 176.99627,875.2769 203.52367,875.9586 C 278.66947,882.6935 353.79807,892.229 424.26507,907.8253 z M 328.49507,485.6378 L 320.33107,482.7615 C 252.07247,480.6576 190.60627,458.2568 156.52837,427.066 C 162.32697,396.0012 208.22927,371.7593 245.23327,349.1486 C 343.46807,363.3092 385.59907,389.6223 391.03407,442.491 C 387.59407,464.8297 359.67907,474.0084 328.49507,485.6378 z M 258.00257,456.2528 C 284.75407,446.7777 306.05607,439.1261 309.44607,419.8468 C 307.57207,408.6858 303.09107,398.7422 298.09007,390.377 C 269.72157,407.047 242.92307,425.6371 240.10467,447.9346 C 242.25927,449.5927 244.10887,451.1182 245.70417,452.5026 C 247.33347,452.7998 249.01937,453.0961 250.78057,453.4328 L 258.00257,456.2528 z "/>\r
+    <glyph unicode="(" horiz-adv-x="200" d="M 157.29553,964.41684 C 85.906534,943.05645 143.27553,964.96935 149.35353,967.96624 C 121.71953,946.03653 101.42953,917.03868 82.038534,888.59322 C 63.019534,847.07698 62.965534,802.58042 62.774534,758.20223 C 62.204534,705.23461 64.148534,651.67258 82.721534,601.57272 C 101.35653,557.79366 119.61453,513.53181 142.06253,471.36352 C 162.28253,443.06815 185.72653,417.51732 209.96853,392.30641 C 217.20353,381.23083 229.92353,377.56805 240.56853,371.59688 L 188.08653,337.9019 C 176.81953,344.9292 163.83953,349.97325 155.89353,361.2646 C 131.44853,386.91462 107.69953,412.77852 87.444534,441.61231 C 64.948534,484.01721 46.816534,528.55933 27.933534,572.50137 C 7.2315644,622.70456 7.2335644,677.98057 6.8235644,731.33487 C 6.9055644,776.44643 6.5735644,821.47147 24.500564,864.14847 C 42.874534,893.44944 63.912534,922.55558 90.661534,945.49597 C 128.52153,967.64442 163.46653,996.41667 209.08253,999.88759 L 157.29553,964.41684 z "/>\r
+    <glyph unicode=")" horiz-adv-x="500" d="M 102.8884,1008.6982 C 100.3294,978.11179 118.5824,954.08432 133.7864,928.76702 C 149.3334,875.98072 168.7994,823.8434 183.8644,770.69509 C 196.9504,729.21591 203.5204,686.02444 206.5114,642.8773 C 201.4774,609.63395 193.9474,577.152 190.2554,543.66899 C 181.9254,511.44678 164.3934,483.40216 144.5814,456.504 C 129.2864,429.24969 104.9144,411.03574 79.569396,392.94916 C -7.1526043,342.08863 12.494396,353.92035 51.591396,372.97586 L -6.6406043,348.65054 C 98.020396,415.32875 32.414396,372.71003 20.524396,370.79131 C 45.745396,388.4546 71.494396,405.2614 86.465396,432.54868 C 106.3464,458.80898 124.1954,485.88766 133.1674,517.41682 C 137.4384,550.35014 143.4694,582.78107 150.3244,615.35728 C 147.8114,658.22366 141.2074,701.07702 128.8484,742.4077 C 114.3944,795.21097 94.022396,846.54497 78.916396,898.97608 C 63.266396,924.87724 44.816396,949.89979 45.853396,981.04365 L 102.8884,1008.6982 z "/>\r
+    <glyph unicode=";" horiz-adv-x="200" d="M 90.716083,550.68412 C 58.772083,550.00152 34.833083,523.48452 11.966083,509.15352 L 46.435083,522.40232 C 49.479083,522.34362 54.384083,522.41242 61.716083,522.63822 C 86.717083,508.23082 96.056083,490.53822 85.091083,463.34542 C 83.224083,460.83592 81.616083,458.54062 80.216083,456.44512 C 64.804083,472.80622 54.337083,486.92652 57.904083,509.12662 L 8.4350828,487.95492 C 5.5640828,464.24702 18.080083,448.72132 34.622083,430.99682 C 76.185083,408.08562 116.08208,453.68972 135.12208,482.41902 C 144.81008,510.75782 134.74608,533.62622 107.06008,548.76912 C 101.37308,550.20642 95.943083,550.79662 90.716083,550.68412 z M 129.06008,400.48432 L 79.591083,379.33872 C 105.73208,338.64932 124.87008,294.27682 143.71608,250.54652 C 167.35808,195.28922 164.90208,136.21212 164.34108,78.387517 C 158.25708,62.455417 154.05108,55.809617 155.06008,55.352017 L 142.90408,47.875017 C 185.24208,65.215917 208.27008,63.434317 212.84108,99.113417 C 212.68308,157.34092 214.90008,216.73962 190.71608,272.29662 C 172.00308,315.54072 152.78908,359.49262 129.06008,400.48432 z M 187.31008,75.239217 L 161.65408,59.444817 C 166.71308,62.982717 174.92608,68.562317 187.31008,75.239217 z "/>\r
+    <glyph unicode="@" horiz-adv-x="790" d="M 372.51951,998.42995 C 245.58351,996.80885 125.45851,954.01125 53.62251,898.70875 C -30.54049,826.11735 -2.9044902,741.27625 35.89651,662.64855 C 97.20851,555.94645 185.88051,448.68105 362.62951,384.51795 C 438.80951,358.49615 531.26151,341.32585 620.24251,354.67375 C 680.20051,370.04665 712.28651,382.36955 716.56151,415.88585 L 659.12051,399.85225 C 655.48551,387.63345 646.31951,377.77305 641.24051,371.98345 C 563.26651,363.92215 481.47951,380.57045 414.40251,402.46575 C 237.33751,465.23525 148.95651,572.10015 88.84951,678.20875 C 50.69351,756.44425 25.83651,840.67095 111.17851,912.21025 C 197.09051,976.70255 180.06551,965.26285 320.89851,978.50585 C 400.88551,974.02945 470.79651,959.33645 521.37351,923.77755 C 614.30751,858.30975 671.55351,781.31835 707.58451,701.36425 C 730.91551,639.27225 760.59351,563.28415 698.53151,505.62495 C 689.61451,506.90775 677.52851,509.35835 663.07651,514.16645 L 661.78251,513.65265 C 631.07651,535.36085 605.04651,559.42555 595.55351,586.41115 C 588.57851,600.05705 587.83851,614.58715 592.62551,628.50255 C 599.84851,672.87165 600.60751,717.58005 594.71651,761.99955 C 590.85151,778.25575 583.28851,794.58665 568.08751,808.82445 L 566.90951,808.65985 L 566.26151,808.57755 C 537.41551,805.22945 507.25751,795.73675 498.51151,779.61825 C 496.23751,778.04835 490.81051,779.72915 487.55551,778.91895 C 443.52151,778.33465 396.88351,781.96235 355.66751,771.57125 C 312.71951,761.91565 273.12051,745.59995 250.97851,723.14035 C 229.29751,693.86715 236.22551,661.04595 250.90351,631.30155 C 271.99251,591.20655 309.91351,552.15505 370.12251,525.44575 C 397.11051,514.05395 430.45451,504.83155 465.52951,506.22265 C 489.01051,509.60525 506.58351,519.51355 523.92251,528.12225 C 531.47851,532.46275 538.36651,537.13055 544.57951,542.05625 C 560.64451,519.96605 586.18951,500.16625 613.54751,481.79105 C 622.87251,479.21455 630.79151,483.78085 637.81751,486.64865 C 676.07251,481.10095 702.23051,495.20695 749.35351,511.79985 C 817.21051,572.45865 787.06251,651.41215 761.56451,717.00665 C 724.31651,797.20505 667.61651,874.85805 575.65851,941.25265 C 524.65951,977.66805 454.01051,993.37255 372.51951,998.42995 z M 495.31551,770.17095 L 495.16351,769.51275 L 495.04951,768.87465 C 491.28151,747.82715 497.67851,726.75635 496.57051,705.68625 C 499.32351,668.31135 514.40451,631.59205 519.66251,594.39765 C 514.54051,574.34675 495.26851,556.24535 478.12151,538.66025 C 436.35551,543.02505 404.57051,560.29705 379.48151,577.93165 C 329.96751,613.70555 300.73751,658.74135 305.98651,703.75195 C 308.15851,716.08815 314.46851,729.15235 330.94151,738.22705 C 341.27651,740.56765 352.42351,741.82945 362.13451,744.87535 C 384.49051,748.89595 408.39551,745.81235 431.48251,746.62495 C 440.60151,746.27905 449.80451,747.65595 455.67651,751.72945 C 468.88051,757.88075 482.09551,764.02795 495.31551,770.17095 z "/>\r
+    <glyph unicode="," horiz-adv-x="150" d="M 56.558839,440.71354 C 86.225839,405.72043 115.40984,365.35833 131.88884,323.09893 C 151.40584,267.79053 164.45184,211.10443 113.97284,166.73193 C -51.063161,88.352727 215.24984,212.71053 41.207839,132.67323 L 84.327839,161.20013 C -30.366161,103.00193 183.12484,209.58813 63.251839,149.80503 C 117.38484,190.45663 103.44184,247.32913 85.123839,301.50583 C 68.260839,344.84743 39.088839,383.11223 7.0848387,419.55023 L 56.558839,440.71354 z "/>\r
+    <glyph unicode="00" horiz-adv-x="500" d=""/>\r
+    </font>\r
+  </defs>\r
+  \r
+  <text y="50"  font-family="SVGraffiti" font-size="10px" >ABCDEFGHIJKLMNOPQRSTUVWXYZ</text>\r
+  <text y="60"  font-family="SVGraffiti" font-size="10px" >abcdefghijklmnopqrstuvwxyz</text>\r
+  <text y="70"  font-family="SVGraffiti" font-size="10px" >.:"!();@,</text>\r
+  <text y="80"  font-family="SVGraffiti" font-size="5px" >09.06.2006 Holger Will ( holger@treebuilder.de )</text>\r
+</svg>
\ No newline at end of file
index 8f464bc..eda32ff 100644 (file)
@@ -1,3 +1,61 @@
+2016-05-09  Myles C. Maxfield  <mmaxfield@apple.com>
+
+        Web Font is downloaded even when all the characters in the document are outside its unicode-range
+        https://bugs.webkit.org/show_bug.cgi?id=42154
+        <rdar://problem/17779042>
+
+        Reviewed by Darin Adler.
+
+        Fonts are requested in two stages:
+        - For a given font family, all the relevant @font-face rules are consulted. We build up a
+        mapping of unicode-range -> Font object. This result is cached.
+        - Then, when we have the mapping, we look up the character we are trying to render to
+        find the appropriate Font object.
+
+        However, we are not supposed to create any Font objects (because that causes a download to
+        be triggered) until we consult with the character we're trying to render. Therefore, this
+        patch swaps out the Font objects with a FontAccessor. This FontAccessor is essentially a
+        lazily-created Font. When step 2 starts looking up the appropriate character, the
+        FontAccessor will be asked to start the download.
+
+        Test: fast/text/unicode-range-download.html
+
+        * css/CSSFontFace.cpp:
+        (WebCore::CSSFontFace::removeClient): 
+        as a client from all its CSSFontFaces.
+        * css/CSSFontFaceSet.cpp:
+        (WebCore::CSSFontFaceSet::clear): Clearing the CSSFontFaceSet needs to remove itself as a
+        client from all its CSSFontFaces.
+        * css/CSSSegmentedFontFace.cpp:
+        (WebCore::CSSFontAccessor::create): The lazy Font object.
+        (WebCore::CSSFontAccessor::CSSFontAccessor): Ditto.
+        (WebCore::appendFontWithInvalidUnicodeRangeIfLoading): Appends a FontAccessor.
+        (WebCore::CSSSegmentedFontFace::fontRanges): Create the FontAccessor and use it instead.
+        * platform/graphics/FontCascadeFonts.cpp:
+        (WebCore::FontCascadeFonts::determinePitch): Use the fontForFirstRange() convenience
+        function.
+        (WebCore::glyphPageFromFontRanges): font() may now return nullptr. Update this function to
+        handle that.
+        * platform/graphics/FontRanges.cpp:
+        (WebCore::FontRanges::Range::font): Trigger the lazy initialization.
+        (WebCore::TrivialFontAccessor::create): Used in the case where there is only one font in
+        the Ranges object and it has a full unicode-range.
+        (WebCore::TrivialFontAccessor::TrivialFontAccessor):
+        (WebCore::FontRanges::FontRanges): Use TrivialFontAccessor.
+        (WebCore::FontRanges::glyphDataForCharacter): font() may now return nullptr. Update this
+        function to handle that. This is where the magic happens: this is where we trigger
+        downloads only if the character falls within the unicode-range.
+        (WebCore::FontRanges::fontForFirstRange): Add ASSERT.
+        (WebCore::FontRanges::isLoading): Update to use the new FontAccessor.
+        * platform/graphics/FontRanges.h: Ditto.
+        (WebCore::FontRanges::Range::Range):
+        (WebCore::FontRanges::Range::fontAccessor):
+        (WebCore::FontRanges::appendRange):
+        (WebCore::FontRanges::Range::font): Deleted.
+        * platform/graphics/FontSelector.h: The virtual base class of FontAccessor. This is
+        necessary because it must be shared between platform code and non-platform code.
+        (WebCore::FontAccessor::~FontAccessor):
+
 2016-05-09  Brady Eidson  <beidson@apple.com>
 
         Modern IDB: Prevent the same transaction from being commited/aborted twice.
index 9b7a7b6..24a6610 100644 (file)
@@ -238,6 +238,8 @@ void CSSFontFaceSet::remove(const CSSFontFace& face)
 
 void CSSFontFaceSet::clear()
 {
+    for (auto& face : m_faces)
+        face->removeClient(*this);
     m_faces.clear();
     m_facesLookupTable.clear();
     m_locallyInstalledFacesLookupTable.clear();
index 54afe96..c76241b 100644 (file)
@@ -59,20 +59,55 @@ void CSSSegmentedFontFace::fontLoaded(CSSFontFace&)
     m_cache.clear();
 }
 
-static void appendFontWithInvalidUnicodeRangeIfLoading(FontRanges& ranges, Ref<Font>&& font, const Vector<CSSFontFace::UnicodeRange>& unicodeRanges)
+class CSSFontAccessor final : public FontAccessor {
+public:
+    static Ref<CSSFontAccessor> create(CSSFontFace& fontFace, const FontDescription& fontDescription, bool syntheticBold, bool syntheticItalic)
+    {
+        return adoptRef(*new CSSFontAccessor(fontFace, fontDescription, syntheticBold, syntheticItalic));
+    }
+
+    const Font* font() const final
+    {
+        if (!m_result)
+            m_result = m_fontFace->font(m_fontDescription, m_syntheticBold, m_syntheticItalic);
+        return m_result.value().get();
+    }
+
+private:
+    CSSFontAccessor(CSSFontFace& fontFace, const FontDescription& fontDescription, bool syntheticBold, bool syntheticItalic)
+        : m_fontFace(fontFace)
+        , m_fontDescription(fontDescription)
+        , m_syntheticBold(syntheticBold)
+        , m_syntheticItalic(syntheticItalic)
+    {
+    }
+
+    bool isLoading() const final
+    {
+        return m_result && m_result.value()->isLoading();
+    }
+
+    mutable Optional<RefPtr<Font>> m_result; // Caches nullptr too
+    mutable Ref<CSSFontFace> m_fontFace;
+    FontDescription m_fontDescription;
+    bool m_syntheticBold;
+    bool m_syntheticItalic;
+};
+
+static void appendFontWithInvalidUnicodeRangeIfLoading(FontRanges& ranges, Ref<FontAccessor>&& fontAccessor, const Vector<CSSFontFace::UnicodeRange>& unicodeRanges)
 {
-    if (font->isLoading()) {
-        ranges.appendRange({ 0, 0, WTFMove(font) });
+    if (fontAccessor->isLoading()) {
+        ranges.appendRange({ 0, 0, WTFMove(fontAccessor) });
         return;
     }
 
     if (unicodeRanges.isEmpty()) {
-        ranges.appendRange({ 0, 0x7FFFFFFF, WTFMove(font) });
+        ranges.appendRange({ 0, 0x7FFFFFFF, WTFMove(fontAccessor) });
         return;
     }
 
     for (auto& range : unicodeRanges)
-        ranges.appendRange({ range.from, range.to, font.copyRef() });
+        ranges.appendRange({ range.from, range.to, fontAccessor.copyRef() });
 }
 
 FontRanges CSSSegmentedFontFace::fontRanges(const FontDescription& fontDescription)
@@ -80,7 +115,7 @@ FontRanges CSSSegmentedFontFace::fontRanges(const FontDescription& fontDescripti
     FontTraitsMask desiredTraitsMask = fontDescription.traitsMask();
 
     auto addResult = m_cache.add(FontDescriptionKey(fontDescription), FontRanges());
-    auto& fontRanges = addResult.iterator->value;
+    auto& result = addResult.iterator->value;
 
     if (addResult.isNewEntry) {
         for (auto& face : m_fontFaces) {
@@ -91,11 +126,16 @@ FontRanges CSSSegmentedFontFace::fontRanges(const FontDescription& fontDescripti
             bool syntheticBold = (fontDescription.fontSynthesis() & FontSynthesisWeight) && !(traitsMask & (FontWeight600Mask | FontWeight700Mask | FontWeight800Mask | FontWeight900Mask)) && (desiredTraitsMask & (FontWeight600Mask | FontWeight700Mask | FontWeight800Mask | FontWeight900Mask));
             bool syntheticItalic = (fontDescription.fontSynthesis() & FontSynthesisStyle) && !(traitsMask & FontStyleItalicMask) && (desiredTraitsMask & FontStyleItalicMask);
 
-            if (RefPtr<Font> faceFont = face->font(fontDescription, syntheticBold, syntheticItalic))
-                appendFontWithInvalidUnicodeRangeIfLoading(fontRanges, faceFont.releaseNonNull(), face->ranges());
+            // This doesn't trigger an unnecessary download because every element styled with this family will need font metrics in order to run layout.
+            // Metrics used for layout come from FontRanges::fontForFirstRange(), which assumes that the first font is non-null.
+            // We're kicking off this necessary first download now.
+            auto fontAccessor = CSSFontAccessor::create(face, fontDescription, syntheticBold, syntheticItalic);
+            if (result.isNull() && !fontAccessor->font())
+                continue;
+            appendFontWithInvalidUnicodeRangeIfLoading(result, WTFMove(fontAccessor), face->ranges());
         }
     }
-    return fontRanges;
+    return result;
 }
 
 }
index e10f51f..efaa2c2 100644 (file)
@@ -122,7 +122,7 @@ void FontCascadeFonts::determinePitch(const FontCascadeDescription& description)
     auto& primaryRanges = realizeFallbackRangesAt(description, 0);
     unsigned numRanges = primaryRanges.size();
     if (numRanges == 1)
-        m_pitch = primaryRanges.rangeAt(0).font().pitch();
+        m_pitch = primaryRanges.fontForFirstRange().pitch();
     else
         m_pitch = VariablePitch;
 }
@@ -410,14 +410,11 @@ static RefPtr<GlyphPage> glyphPageFromFontRanges(unsigned pageNumber, const Font
         auto& range = fontRanges.rangeAt(i);
         if (range.to()) {
             if (range.from() <= pageRangeFrom && pageRangeTo <= range.to())
-                font = &range.font();
+                font = range.font();
             break;
         }
     }
-    if (!font)
-        return nullptr;
-
-    if (font->platformData().orientation() == Vertical)
+    if (!font || font->platformData().orientation() == Vertical)
         return nullptr;
 
     return const_cast<GlyphPage*>(font->glyphPage(pageNumber));
index 8474feb..d1b7917 100644 (file)
 #include "FontRanges.h"
 
 #include "Font.h"
+#include "FontSelector.h"
 #include <wtf/Assertions.h>
 #include <wtf/text/WTFString.h>
 
 namespace WebCore {
 
+const Font* FontRanges::Range::font() const
+{
+    return m_fontAccessor->font();
+}
+
 FontRanges::FontRanges()
 {
 }
 
+class TrivialFontAccessor final : public FontAccessor {
+public:
+    static Ref<TrivialFontAccessor> create(Ref<Font>&& font)
+    {
+        return adoptRef(*new TrivialFontAccessor(WTFMove(font)));
+    }
+
+private:
+    TrivialFontAccessor(RefPtr<Font>&& font)
+        : m_font(WTFMove(font))
+    {
+    }
+
+    const Font* font() const final
+    {
+        return m_font.get();
+    }
+
+    bool isLoading() const final
+    {
+        return m_font->isLoading();
+    }
+
+    RefPtr<Font> m_font;
+};
+
 FontRanges::FontRanges(RefPtr<Font>&& font)
 {
     if (font)
-        m_ranges.append(Range { 0, 0x7FFFFFFF, font.releaseNonNull() });
+        m_ranges.append(Range { 0, 0x7FFFFFFF, TrivialFontAccessor::create(font.releaseNonNull()) });
 }
 
 FontRanges::~FontRanges()
@@ -50,9 +82,11 @@ GlyphData FontRanges::glyphDataForCharacter(UChar32 character) const
 {
     for (auto& range : m_ranges) {
         if (range.from() <= character && character <= range.to()) {
-            auto glyphData = range.font().glyphDataForCharacter(character);
-            if (glyphData.glyph)
-                return glyphData;
+            if (auto* font = range.font()) {
+                auto glyphData = font->glyphDataForCharacter(character);
+                if (glyphData.glyph)
+                    return glyphData;
+            }
         }
     }
     return GlyphData();
@@ -65,13 +99,15 @@ const Font* FontRanges::fontForCharacter(UChar32 character) const
 
 const Font& FontRanges::fontForFirstRange() const
 {
-    return m_ranges[0].font();
+    auto* font = m_ranges[0].font();
+    ASSERT(font);
+    return *font;
 }
 
 bool FontRanges::isLoading() const
 {
     for (auto& range : m_ranges) {
-        if (range.font().isLoading())
+        if (range.fontAccessor().isLoading())
             return true;
     }
     return false;
index 7b72db5..4fe0bec 100644 (file)
 
 namespace WebCore {
 
+class FontAccessor;
+
 class FontRanges {
 public:
     struct Range {
-        Range(UChar32 from, UChar32 to, Ref<Font>&& font)
+        Range(UChar32 from, UChar32 to, Ref<FontAccessor>&& fontAccessor)
             : m_from(from)
             , m_to(to)
-            , m_font(WTFMove(font))
+            , m_fontAccessor(WTFMove(fontAccessor))
+        {
+        }
+
+        Range(const Range& range)
+            : m_from(range.m_from)
+            , m_to(range.m_to)
+            , m_fontAccessor(range.m_fontAccessor.copyRef())
         {
         }
 
+        Range(Range&&) = default;
+        Range& operator=(const Range&) = delete;
+        Range& operator=(Range&&) = default;
+
         UChar32 from() const { return m_from; }
         UChar32 to() const { return m_to; }
-        const Font& font() const { return *m_font; }
+        const Font* font() const;
+        const FontAccessor& fontAccessor() const { return m_fontAccessor; }
 
     private:
         UChar32 m_from;
         UChar32 m_to;
-        RefPtr<Font> m_font;
+        Ref<FontAccessor> m_fontAccessor;
     };
 
     FontRanges();
     explicit FontRanges(RefPtr<Font>&&);
     ~FontRanges();
 
+    FontRanges(const FontRanges&) = default;
+    FontRanges& operator=(FontRanges&&) = default;
+
     bool isNull() const { return m_ranges.isEmpty(); }
 
-    void appendRange(const Range& range) { m_ranges.append(range); }
+    void appendRange(Range&& range) { m_ranges.append(WTFMove(range)); }
     unsigned size() const { return m_ranges.size(); }
     const Range& rangeAt(unsigned i) const { return m_ranges[i]; }
 
index 093f6e6..01f4842 100644 (file)
@@ -36,6 +36,14 @@ class FontCascadeDescription;
 class FontDescription;
 class FontSelectorClient;
 
+class FontAccessor : public RefCounted<FontAccessor> {
+public:
+    virtual ~FontAccessor() { }
+
+    virtual const Font* font() const = 0;
+    virtual bool isLoading() const = 0;
+};
+
 class FontSelector : public RefCounted<FontSelector> {
 public:
     virtual ~FontSelector() { }