Browse files

remove multilanuguage stubs. create webfonts, rename 'services' to 's…

…kills', detecting MS IE
  • Loading branch information...
1 parent 7d1cd4c commit 1f2d1475bed7931ad5e9f5385b70a8839691192c @d1ffuz0r committed Oct 22, 2011
View
9 homesite/feed.py
@@ -1,14 +1,13 @@
-# -*- coding: utf-8 -*-
from django.contrib.syndication.views import Feed
from models import Blog
class BlogRss(Feed):
- title_template = 'd1ffuz0r blog feed'
- link = '/blog/'
- description_template = 'Posts on d1ffuz0r.tk blog'
+ title_template = "d1ffuz0r blog feed"
+ link = "/blog/"
+ description_template = "Posts on d1ffuz0r.tk blog"
def items(self):
- return Blog.objects.order_by('-id')
+ return Blog.objects.all()
def item_title(self, item):
return item.title
View
9 homesite/forms.py
@@ -1,13 +1,12 @@
from django import forms
from models import QuickMessages
-_ = lambda x: x
class QuickContactForm(forms.ModelForm):
class Meta:
model = QuickMessages
- fields = ('name', 'email', 'message')
+ fields = ("name", "email", "message")
widgets = {
- 'name' : forms.TextInput({'value':_('Name')}),
- 'email' : forms.TextInput({'value':_('Email')}),
- 'message' : forms.Textarea(attrs={'cols':10}),
+ "name": forms.TextInput({"value": u"Name"}),
+ "email": forms.TextInput({"value": u"Email"}),
+ "message": forms.Textarea(attrs={"cols": 10}),
}
View
98 homesite/models.py
@@ -4,44 +4,38 @@
import settings
class Services(models.Model):
- '''
- fields: title, description, image
- '''
- title = models.CharField(max_length=1000, verbose_name=u'Name (for select in Portfolio)')
- description = models.TextField(max_length=1000, verbose_name=u'Description')
- image = models.ImageField(upload_to='services', verbose_name=u'Image', blank=True)
+ title = models.CharField(max_length=1000, verbose_name=u"Name (for select in Portfolio)")
+ description = models.TextField(max_length=1000, verbose_name=u"Description")
+ image = models.ImageField(upload_to="skills", verbose_name=u"Image", blank=True)
def save(self, size=(100, 100)):
super(Services, self).save()
- filename = '%s/%s' % (settings.MEDIA_ROOT, self.image)
+ filename = "%s/%s" % (settings.MEDIA_ROOT, self.image)
image = Image.open(filename)
image.thumbnail(size, Image.ANTIALIAS)
image.save(filename)
class Meta:
- verbose_name = u'Service'
- verbose_name_plural = u'Services'
+ verbose_name = u"Skill"
+ verbose_name_plural = u"skills"
def __unicode__(self):
return self.title
class Portfolio(models.Model):
- '''
- fields: title, description, type, link, image
- '''
- title = models.CharField(max_length=1000, verbose_name=u'Name')
- description = models.TextField(max_length=1000, verbose_name=u'Description')
- type = models.ForeignKey(Services, blank=True, verbose_name=u'Type')
- link = models.URLField(verbose_name=u'Link')
- image = models.ImageField(upload_to='portfolio', verbose_name=u'Image', blank=True)
+ title = models.CharField(max_length=1000, verbose_name=u"Name")
+ description = models.TextField(max_length=1000, verbose_name=u"Description")
+ type = models.ForeignKey(Services, blank=True, verbose_name=u"Type")
+ link = models.URLField(verbose_name=u"Link")
+ image = models.ImageField(upload_to="portfolio", verbose_name=u"Image", blank=True)
class Meta:
- verbose_name = u'Portfolio'
- verbose_name_plural = u'Portfolio'
+ verbose_name = u"Portfolio"
+ verbose_name_plural = u"Portfolio"
def save(self, size=(250, 250)):
super(Portfolio, self).save()
- filename = '%s/%s' % (settings.MEDIA_ROOT, self.image)
+ filename = "%s/%s" % (settings.MEDIA_ROOT, self.image)
image = Image.open(filename)
image.thumbnail(size, Image.ANTIALIAS)
image.save(filename)
@@ -50,68 +44,52 @@ def __unicode__(self):
return self.title
class Settings(models.Model):
- '''
- fields: home_portfolio, home_services, home_about, home_contacts, facebook, twitter, github, jabber,
- icq, email, skype, cv
- '''
- home_portfolio = models.TextField(max_length=1000, verbose_name=u'Portfolio (small)')
- home_services = models.TextField(max_length=1000, verbose_name=u'Services (small)')
- home_about = models.TextField(max_length=1000, verbose_name=u'About (small)')
- home_contacts = models.TextField(max_length=1000, verbose_name=u'Contacts (small)')
- facebook = models.CharField(max_length=100, verbose_name=u'Facebook profile')
- twitter = models.CharField(max_length=100, verbose_name=u'Twitter profile')
- github = models.CharField(max_length=100, verbose_name=u'Github profile')
- jabber = models.CharField(max_length=100, verbose_name=u'Jabber')
- icq = models.CharField(max_length=100, verbose_name=u'ICQ')
- email = models.CharField(max_length=100, verbose_name=u'E-mail')
- skype = models.CharField(max_length=100, verbose_name=u'Skype')
- cv = models.FileField(upload_to='.', verbose_name=u'CV', blank=True)
+ facebook = models.CharField(max_length=100, verbose_name=u"Facebook profile")
+ twitter = models.CharField(max_length=100, verbose_name=u"Twitter profile")
+ github = models.CharField(max_length=100, verbose_name=u"Github profile")
+ jabber = models.CharField(max_length=100, verbose_name=u"Jabber")
+ icq = models.CharField(max_length=100, verbose_name=u"ICQ")
+ email = models.CharField(max_length=100, verbose_name=u"E-mail")
+ skype = models.CharField(max_length=100, verbose_name=u"Skype")
+ cv = models.FileField(upload_to=".", verbose_name=u"CV", blank=True)
class Meta:
- verbose_name = u'Settings'
- verbose_name_plural = u'Settings'
+ verbose_name = u"Settings"
+ verbose_name_plural = u"Settings"
def __unicode__(self):
- return u'Settings'
+ return u"Settings"
class About(models.Model):
- '''
- fields: description
- '''
- description = models.TextField(max_length=1000, verbose_name=u'Description')
+ description = models.TextField(max_length=1000, verbose_name=u"Description")
class Meta:
- verbose_name = u'About'
- verbose_name_plural = u'About'
+ verbose_name = u"About"
+ verbose_name_plural = u"About"
def __unicode__(self):
- return u'About'
+ return u"About"
class QuickMessages(models.Model):
- '''
- fields: name, email, message
- '''
name = models.CharField(max_length=100)
- email = models.EmailField(max_length=100, error_messages={'null':'Enter email pls','invalid_choice':'Enter correct email'})
- message = models.TextField(max_length=1000, default=u'Message')
+ email = models.EmailField(max_length=100, error_messages={"null": "Enter email pls",
+ "invalid_choice": "Enter correct email"})
+ message = models.TextField(max_length=1000, default=u"Message")
class Meta:
- verbose_name = u'Messages'
- verbose_name_plural = u'Messages'
+ verbose_name = u"Messages"
+ verbose_name_plural = u"Messages"
def __unicode__(self):
return self.message[:40]
class Blog(models.Model):
- '''
- fields: title, text
- '''
- title = models.CharField(max_length=1000,verbose_name=u'Title')
- text = models.TextField(verbose_name=u'Text', )
+ title = models.CharField(max_length=1000,verbose_name=u"Title")
+ text = models.TextField(verbose_name=u"Text")
class Meta:
- verbose_name = u'Post'
- verbose_name_plural = u'Blog'
+ verbose_name = u"Post"
+ verbose_name_plural = u"Blog"
ordering = ["-id"]
def get_absolute_url(self):
View
14 homesite/templatetags/footer_tags.py
@@ -1,6 +1,6 @@
from django import template
from homesite.forms import QuickContactForm
-from homesite.models import Blog
+from homesite.models import Blog, Settings
register = template.Library()
@@ -13,6 +13,12 @@ def quick_form():
return QuickContactForm().as_p()
@register.simple_tag(takes_context=True)
+def social(context):
+ settings = Settings.objects.all()[0]
+ context["social"] = settings
+ return u""
+
+@register.simple_tag(takes_context=True)
def latest_posts(context):
'''
latest posts in blog
@@ -21,6 +27,6 @@ def latest_posts(context):
...
{% endfor %}
'''
- posts = Blog.objects.order_by('-id')[:4]
- context['latest_posts'] = posts
- return u''
+ posts = Blog.objects.all()[:4]
+ context["latest_posts"] = posts
+ return u""
View
80 homesite/tests.py
@@ -5,80 +5,78 @@
class HomesiteTest(TestCase):
def setUp(self):
self.client = Client()
- self.post = Blog.objects.create(title='test',
- text='test'
+ self.post = Blog.objects.create(title="test",
+ text="test"
)
self.message = QuickMessages.objects.create(name="test_name",
email="email",
message="test_message"
)
self.about = About.objects.create(description="test")
- self.settings = Settings.objects.create(home_portfolio='test',
- home_services='test',
- home_about='test',
- home_contacts='test',
- facebook='http://test.com',
- twitter='http://test.com',
- github='http://test.com',
- jabber='test@dsfdsf.com',
- icq='12123',
- email='test@dsfdsf.com',
- skype='sfsdf',
- cv=''
+ self.settings = Settings.objects.create(home_portfolio="test",
+ home_services="test",
+ home_about="test",
+ home_contacts="test",
+ facebook="http://test.com",
+ twitter="http://test.com",
+ github="http://test.com",
+ jabber="test@dsfdsf.com",
+ icq="12123",
+ email="test@dsfdsf.com",
+ skype="sfsdf",
+ cv=""
)
#self.service = Services.objects.create(title="test", description="test").save_base(force_insert=False)
#self.portfolio = Portfolio.objects.create(title="test", description="desc", type=self.service.id, link="http://fsdf", image="").save()
- #main tests
def testHome(self):
- request = self.client.get('/')
+ request = self.client.get("/")
self.assertContains(request, text="portfolio")
def testAbout(self):
- self.assertEqual(self.about.description, 'test')
+ self.assertEqual(self.about.description, "test")
- request = self.client.get('/about/')
+ request = self.client.get("/about/")
self.assertContains(request, text="about")
self.assertDictEqual(
- request.context['latest_posts'].values()[0],
- {'text': u'test', 'id': 1, 'title': u'test'},
+ request.context["latest_posts"].values()[0],
+ {"text": u"test", "id": 1, "title": u"test"},
)
- self.assertEqual(request.context['about'].description, 'test')
+ self.assertEqual(request.context["about"].description, "test")
def testBlog(self):
- self.assertEqual(self.post.title, 'test')
- self.assertEqual(self.post.text, 'test')
+ self.assertEqual(self.post.title, "test")
+ self.assertEqual(self.post.text, "test")
- request = self.client.get('/blog/')
- self.assertEqual(request.context['page'], 'blog')
+ request = self.client.get("/blog/")
+ self.assertEqual(request.context["page"], "blog")
self.assertDictEqual(
- request.context['posts'].object_list.values()[0],
- {'text': u'test', 'id': 1, 'title': u'test'}
+ request.context["posts"].object_list.values()[0],
+ {"text": u"test", "id": 1, "title": u"test"}
)
def testPortfolio(self):
- request = self.client.get('/portfolio/')
+ request = self.client.get("/portfolio/")
self.assertContains(request, text="portfolio")
- def testServices(self):
- request = self.client.get('/services/')
- self.assertContains(request, text="services")
+ def testSkills(self):
+ request = self.client.get("/skills/")
+ self.assertContains(request, text="skills")
- # other tests
def testMessages(self):
- self.assertEqual(self.message.name, 'test_name')
- self.assertEqual(self.message.email, 'email')
- self.assertEqual(self.message.message, 'test_message')
+ self.assertEqual(self.message.name, "test_name")
+ self.assertEqual(self.message.email, "email")
+ self.assertEqual(self.message.message, "test_message")
def testSettings(self):
- self.assertEqual(self.settings.home_portfolio, 'test')
+ self.assertEqual(self.settings.home_portfolio, "test")
def testSendMessages(self):
request = self.client.post(
- '/ajax/quick-form',
- {'name':'test','email':'d1ffuz0r@mail.ru','message':'msg'},
- **{'HTTP_X_REQUESTED_WITH':'XMLHttpRequest'}
+ "/ajax/quick-form",
+ {"name":"test","email":"d1ffuz0r@mail.ru","message":"msg"},
+ **{"HTTP_X_REQUESTED_WITH":"XMLHttpRequest"}
)
- self.assertEqual(QuickMessages.objects.filter(message='msg').get().email, 'd1ffuz0r@mail.ru')
- self.assertEqual(request.content,'Success. your message sended')
+ self.assertEqual(QuickMessages.objects.filter(message="msg").get().email, "d1ffuz0r@mail.ru")
+ self.assertEqual(request.content,"Success. your message sended")
View
18 homesite/views.py
@@ -5,36 +5,34 @@
from django.http import HttpResponse
from decorators import render_to
-_ = lambda x: x
-
-@render_to('blog.html')
+@render_to("blog.html")
def blog_list(request):
posts_list = Blog.objects.all()
paginator = Paginator(posts_list,5)
try:
- page = int(request.GET.get('page', '1'))
+ page = int(request.GET.get("page", "1"))
except ValueError:
page = 1
try:
posts = paginator.page(page)
except (EmptyPage, InvalidPage):
posts = paginator.page(paginator.num_pages)
- return {'page': 'blog', 'posts': posts}
+ return {"page": "blog", "posts": posts}
-@render_to('post.html')
+@render_to("post.html")
def blog_post(request,post_id):
post = get_object_or_404(Blog, id = post_id)
- return {'page': 'blog', 'post': post}
+ return {"page": "blog", "post": post}
def quick_form(request):
if request.is_ajax():
form = QuickContactForm(request.POST)
if form.is_valid():
- message = _('Success. your message sended')
+ message = u"Success. your message sended"
form.save()
else:
- message = _('Error. Please check data')
+ message = u"Error. Please check data"
else:
- message = _('Not data')
+ message = u"Not data"
return HttpResponse(message)
View
0 public/site_media/services/javascript.png → public/site_media/skills/javascript.png
File renamed without changes
View
0 public/site_media/services/php.png → public/site_media/skills/php.png
File renamed without changes
View
0 public/site_media/services/python.png → public/site_media/skills/python.png
File renamed without changes
View
BIN public/static/css/BebasNeue.otf
Binary file not shown.
View
BIN public/static/css/fonts/bebasneue-webfont.eot
Binary file not shown.
View
229 public/static/css/fonts/bebasneue-webfont.svg
@@ -0,0 +1,229 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata>
+This is a custom SVG webfont generated by Font Squirrel.
+Copyright : Copyright c 2010 by Ryoichi Tsunekawa All rights reserved
+Designer : Ryoichi Tsunekawa
+Foundry : Ryoichi Tsunekawa
+</metadata>
+<defs>
+<font id="BebasNeueRegular" horiz-adv-x="811" >
+<font-face units-per-em="2048" ascent="1638" descent="-410" />
+<missing-glyph horiz-adv-x="317" />
+<glyph unicode=" " horiz-adv-x="317" />
+<glyph unicode="&#x09;" horiz-adv-x="317" />
+<glyph unicode="&#xa0;" horiz-adv-x="317" />
+<glyph unicode="!" horiz-adv-x="389" d="M82 836v598h225v-598l-28 -519h-168zM86 0v217h217v-217h-217z" />
+<glyph unicode="&#x22;" horiz-adv-x="665" d="M82 1434h217l-33 -422h-153zM367 1434h217l-33 -422h-154z" />
+<glyph unicode="#" horiz-adv-x="839" d="M31 410l16 159h100l39 375h-102l16 160h103l35 330h184l-35 -330h133l35 330h184l-34 -330h104l-16 -160h-105l-39 -375h105l-17 -159h-104l-43 -410h-184l43 410h-134l-43 -410h-184l43 410h-100zM332 569h133l39 375h-133z" />
+<glyph unicode="$" d="M70 365v98h213v-113q0 -139 116.5 -139t116.5 139q0 68 -32.5 127.5t-82 99t-105.5 90t-105.5 99.5t-82 128t-32.5 175q0 297 237 350v107h185v-107q242 -49 241 -350v-45h-213v59q0 141 -112.5 141.5t-112.5 -141.5q0 -80 45 -146.5t109.5 -117.5t130 -107.5 t110.5 -145.5t45 -201q0 -147 -62.5 -237.5t-180.5 -115.5v-104h-185v104q-243 50 -243 353z" />
+<glyph unicode="%" horiz-adv-x="1284" d="M70 743v471q0 111 55 170.5t161.5 59.5t162 -59.5t55.5 -170.5v-471q0 -111 -55.5 -170t-162 -59t-161.5 59t-55 170zM213 733q0 -90 73.5 -90t73.5 90v492q0 90 -73.5 90t-73.5 -90v-492zM287 0l565 1434h133l-565 -1434h-133zM780 219v471q0 111 55.5 170.5t162 59.5 t161.5 -59.5t55 -170.5v-471q0 -111 -55 -170t-161.5 -59t-162 59t-55.5 170zM924 209q0 -90 73.5 -90t73.5 90v491q0 90 -73.5 90.5t-73.5 -90.5v-491z" />
+<glyph unicode="&#x26;" horiz-adv-x="847" d="M84 311v146q0 231 156 301q-156 66 -156 295v26q0 354 336 355h258v-205h-254q-115 0 -115 -139v-89q0 -82 34 -116.5t101 -34.5h99v160h225v-160h59v-205h-59v-471q0 -117 25 -174h-230q-16 45 -20 113q-59 -129 -209 -129q-250 -1 -250 327zM309 330q0 -141 117 -142 q111 0 117 125v332h-86q-78 0 -113 -42t-35 -140v-133z" />
+<glyph unicode="'" horiz-adv-x="368" d="M76 1434h217l-33 -422h-154z" />
+<glyph unicode="(" horiz-adv-x="514" d="M96 313v807q0 170 73 242t243 72h69v-185h-55q-55 0 -79.5 -27.5t-24.5 -101.5v-807q0 -74 24.5 -101.5t79.5 -27.5h55v-184h-69q-170 0 -243 71.5t-73 241.5z" />
+<glyph unicode=")" horiz-adv-x="514" d="M33 0v184h55q55 0 80 28t25 101v807q0 74 -25 101.5t-80 27.5h-55v185h69q170 0 243 -72t73 -242v-807q0 -170 -73 -241.5t-243 -71.5h-69z" />
+<glyph unicode="*" d="M4 1075l57 174l306 -153l-54 338h185l-54 -338l306 153l57 -174l-336 -57l240 -240l-148 -108l-157 303l-158 -303l-148 108l240 240z" />
+<glyph unicode="+" d="M51 637v160h275v276h159v-276h275v-160h-275v-281h-159v281h-275z" />
+<glyph unicode="," horiz-adv-x="380" d="M82 0v217h217v-194l-98 -228h-92l59 205h-86z" />
+<glyph unicode="-" horiz-adv-x="552" d="M72 614v205h409v-205h-409z" />
+<glyph unicode="." horiz-adv-x="380" d="M82 0v217h217v-217h-217z" />
+<glyph unicode="/" horiz-adv-x="780" d="M10 0l565 1434h195l-565 -1434h-195z" />
+<glyph unicode="0" d="M63 344v746q0 172 88.5 266t254 94t254 -94t88.5 -266v-746q0 -172 -88.5 -266t-254 -94t-254 94t-88.5 266zM289 330q0 -141 116.5 -141.5t116.5 141.5v774q0 141 -116.5 141t-116.5 -141v-774z" />
+<glyph unicode="1" d="M221 1094v159q82 0 134.5 28t71.5 60.5t42 92.5h152v-1434h-226v1094h-174z" />
+<glyph unicode="2" d="M82 0v176q0 117 46 214t111.5 170t131 143.5t111.5 167t46 210.5q0 92 -29.5 128t-86.5 36q-117 0 -117 -141v-154h-213v140q0 174 86 267t250 93t250 -93t86 -267q0 -131 -50.5 -247t-120 -198t-137 -153.5t-109.5 -144.5t-30 -142h426v-205h-651z" />
+<glyph unicode="3" d="M70 344v119h213v-133q0 -141 116 -142q57 0 87 36t30 126v113q0 98 -35 140t-112 42h-76v205h88q68 0 101.5 35t33.5 116v80q0 92 -29.5 128t-87.5 36q-117 0 -116 -141v-92h-213v78q0 174 86 267t249.5 93t249.5 -93t86 -267v-37q0 -229 -157 -295q158 -70 157 -301 v-113q0 -174 -86 -267t-249.5 -93t-249.5 93t-86 267z" />
+<glyph unicode="4" d="M29 260v205l409 969h246v-969h107v-205h-107v-260h-225v260h-430zM236 465h223v530z" />
+<glyph unicode="5" d="M72 344v119h213v-133q0 -139 116.5 -139.5t116.5 139.5v315q0 141 -116.5 141t-116.5 -141v-43h-213l41 832h594v-205h-392l-18 -342q63 104 197 104q250 0 249 -327v-320q0 -174 -86 -267t-249.5 -93t-249.5 93t-86 267z" />
+<glyph unicode="6" d="M68 344v733q0 373 344 373q164 0 250 -93t86 -267v-37h-213v51q0 141 -117 141q-63 0 -94 -39t-31 -137v-262q59 127 209 127q250 0 250 -328v-262q0 -172 -88.5 -266t-254 -94t-253.5 94t-88 266zM293 330q0 -139 116.5 -139.5t116.5 139.5v258q0 141 -116.5 141 t-116.5 -141v-258z" />
+<glyph unicode="7" d="M68 1229v205h675v-197l-331 -1237h-226l330 1229h-448z" />
+<glyph unicode="8" d="M53 344v113q0 221 140 299q-139 76 -140 288v46q0 172 91.5 266t261 94t261 -94t91.5 -266v-46q0 -211 -140 -288q139 -78 140 -299v-113q0 -172 -91.5 -266t-261 -94t-261 94t-91.5 266zM279 350q0 -162 127 -162q125 0 126 162v133q0 162 -126.5 162t-126.5 -162v-133z M279 1001q0 -152 126.5 -151.5t126.5 151.5v80q0 164 -126.5 164t-126.5 -164v-80z" />
+<glyph unicode="9" d="M59 827v263q0 172 88.5 266t254 94t253.5 -94t88 -266v-734q0 -373 -344 -372q-164 0 -250 93t-86 267v37h213v-51q0 -141 117 -142q63 0 94 39t31 138v262q-59 -127 -209 -127q-250 -1 -250 327zM285 846q0 -141 116.5 -141t116.5 141v258q0 139 -116.5 139t-116.5 -139 v-258z" />
+<glyph unicode=":" horiz-adv-x="380" d="M82 0v217h217v-217h-217zM82 780v217h217v-217h-217z" />
+<glyph unicode=";" horiz-adv-x="380" d="M82 0v217h217v-194l-98 -228h-92l59 205h-86zM82 780v217h217v-217h-217z" />
+<glyph unicode="&#x3c;" d="M61 637v160l668 245v-161l-459 -164l459 -164v-162z" />
+<glyph unicode="=" d="M72 471v160h667v-160h-667zM72 803v160h667v-160h-667z" />
+<glyph unicode="&#x3e;" d="M82 391v162l459 164l-459 164v161l668 -245v-160z" />
+<glyph unicode="?" horiz-adv-x="737" d="M41 948v142q0 174 84 267t248 93t248 -93t84 -267q0 -125 -42 -228.5t-91.5 -160t-91.5 -137.5t-42 -167q0 -45 8 -80h-200q-12 37 -13 89q0 104 39 191t84 141.5t84 150.5t39 215q0 141 -112.5 141t-112.5 -141v-156h-213zM236 0v217h217v-217h-217z" />
+<glyph unicode="@" horiz-adv-x="1411" d="M49 594q0 193 48 358.5t139.5 291.5t238 199t330.5 73q303 0 436 -164t133 -439q0 -178 -39 -312t-102.5 -204.5t-128 -103.5t-129.5 -33q-168 0 -180 135q-63 -129 -199 -123q-217 6 -184 316l22 207q16 152 80 229.5t170 73.5q127 -2 168 -127l12 119h197l-62 -592 q-6 -51 41 -52q80 0 122 142.5t42 320.5q0 201 -100 316.5t-307 115.5q-270 0 -412.5 -200.5t-142.5 -556.5q0 -254 119.5 -394.5t357.5 -140.5q244 0 424 139l-17 -196q-172 -115 -419 -115q-334 0 -496 191.5t-162 525.5zM610 598q-14 -131 88 -135q47 -2 77 29.5t38 99.5 l21 194q6 57 -18.5 86t-70.5 29q-49 2 -78.5 -28.5t-37.5 -100.5z" />
+<glyph unicode="A" horiz-adv-x="833" d="M23 0l229 1434h330l229 -1434h-227l-39 260h-277l-39 -260h-206zM297 455h217l-108 725z" />
+<glyph unicode="B" horiz-adv-x="831" d="M82 0v1434h340q174 0 254 -81t80 -249v-51q0 -221 -146 -289q168 -66 168 -307v-117q0 -166 -87 -253t-255 -87h-354zM307 205h129q59 0 88 31.5t29 109.5v125q0 98 -34 136t-111 38h-101v-440zM307 850h88q68 0 101.5 35t33.5 116v80q0 147 -114 148h-109v-379z" />
+<glyph unicode="C" horiz-adv-x="790" d="M63 344v746q0 174 86.5 267t250 93t249.5 -93t86 -267v-140h-213v154q0 141 -116.5 141t-116.5 -141v-774q0 -139 116.5 -139.5t116.5 139.5v205h213v-191q0 -174 -86 -267t-249.5 -93t-250 93t-86.5 267z" />
+<glyph unicode="D" horiz-adv-x="835" d="M82 0v1434h356q336 0 336 -355v-725q0 -354 -336 -354h-356zM307 205h127q115 0 115 139v746q0 139 -115 139h-127v-1024z" />
+<glyph unicode="E" horiz-adv-x="753" d="M82 0v1434h614v-205h-389v-400h309v-204h-309v-420h389v-205h-614z" />
+<glyph unicode="F" horiz-adv-x="704" d="M82 0v1434h596v-205h-371v-432h291v-205h-291v-592h-225z" />
+<glyph unicode="G" horiz-adv-x="798" d="M63 344v746q0 174 86.5 267t250 93t249.5 -93t86 -267v-140h-213v154q0 141 -116.5 141t-116.5 -141v-774q0 -139 116.5 -139.5t116.5 139.5v264h-102v205h315v-455q0 -174 -86 -267t-249.5 -93t-250 93t-86.5 267z" />
+<glyph unicode="H" horiz-adv-x="874" d="M82 0v1434h225v-615h256v615h230v-1434h-230v614h-256v-614h-225z" />
+<glyph unicode="I" horiz-adv-x="389" d="M82 0v1434h225v-1434h-225z" />
+<glyph unicode="J" horiz-adv-x="524" d="M20 0v205q25 -2 78 -2q129 0 129 137v1094h226v-1078q0 -360 -324 -360q-72 0 -109 4z" />
+<glyph unicode="K" horiz-adv-x="847" d="M82 0v1434h225v-625l295 625h225l-313 -639l313 -795h-231l-219 571l-70 -131v-440h-225z" />
+<glyph unicode="L" horiz-adv-x="694" d="M82 0v1434h225v-1229h371v-205h-596z" />
+<glyph unicode="M" horiz-adv-x="1107" d="M80 0v1434h313l166 -1018l154 1018h313v-1434h-213v1028l-156 -1028h-213l-168 1014v-1014h-196z" />
+<glyph unicode="N" horiz-adv-x="874" d="M80 0v1434h282l232 -859v859h201v-1434h-232l-280 1038v-1038h-203z" />
+<glyph unicode="O" d="M63 344v746q0 172 88.5 266t254 94t254 -94t88.5 -266v-746q0 -172 -88.5 -266t-254 -94t-254 94t-88.5 266zM289 330q0 -141 116.5 -141.5t116.5 141.5v774q0 141 -116.5 141t-116.5 -141v-774z" />
+<glyph unicode="P" horiz-adv-x="772" d="M82 0v1434h332q336 0 336 -355v-186q0 -354 -336 -354h-107v-539h-225zM307 743h107q55 0 82.5 31t27.5 105v215q0 74 -27.5 104.5t-82.5 30.5h-107v-486z" />
+<glyph unicode="Q" d="M63 344v746q0 172 88.5 266t254 94t254 -94t88.5 -266v-746q0 -121 -43 -201q12 -31 63 -30h20v-201h-30q-145 0 -195 98q-74 -27 -157 -26q-166 0 -254.5 94t-88.5 266zM289 330q0 -141 116.5 -141.5t116.5 141.5v774q0 141 -116.5 141t-116.5 -141v-774z" />
+<glyph unicode="R" horiz-adv-x="823" d="M82 0v1434h340q174 0 254 -81t80 -249v-113q0 -221 -148 -291q150 -63 150 -305v-221q0 -117 24 -174h-229q-20 61 -21 176v225q0 98 -34.5 140.5t-112.5 42.5h-78v-584h-225zM307 788h88q68 0 101.5 35t33.5 117v141q0 147 -114 148h-109v-441z" />
+<glyph unicode="S" horiz-adv-x="765" d="M47 344v88h213v-102q0 -139 117 -139.5t117 139.5q0 80 -45.5 150.5t-110 128t-130 120t-110.5 155.5t-45 206q0 174 84 267t248 93t248 -93t84 -267v-46h-213v60q0 141 -112.5 141t-112.5 -141q0 -59 24.5 -112.5t63.5 -96.5t86 -85t93 -88t85 -98.5t63.5 -124 t24.5 -155.5q0 -174 -86 -267t-250 -93t-250 93t-86 267z" />
+<glyph unicode="T" horiz-adv-x="729" d="M16 1229v205h697v-205h-236v-1229h-225v1229h-236z" />
+<glyph unicode="U" horiz-adv-x="815" d="M72 342v1092h225v-1106q0 -139 116.5 -139.5t116.5 139.5v1106h213v-1092q0 -174 -86 -267t-249.5 -93t-249.5 93t-86 267z" />
+<glyph unicode="V" horiz-adv-x="823" d="M23 1434h227l172 -1170l172 1170h207l-221 -1434h-336z" />
+<glyph unicode="W" horiz-adv-x="1153" d="M31 1434h219l121 -1131l108 1131h217l113 -1139l117 1139h196l-159 -1434h-299l-82 764l-82 -764h-310z" />
+<glyph unicode="X" horiz-adv-x="880" d="M31 0l252 737l-236 697h234l170 -529l174 529h209l-236 -697l252 -737h-238l-184 567l-186 -567h-211z" />
+<glyph unicode="Y" d="M8 1434h236l172 -654l172 654h215l-285 -959v-475h-225v475z" />
+<glyph unicode="Z" horiz-adv-x="757" d="M47 0v201l428 1028h-407v205h639v-201l-428 -1028h428v-205h-660z" />
+<glyph unicode="[" horiz-adv-x="514" d="M96 0v1434h373v-185h-147v-1065h147v-184h-373z" />
+<glyph unicode="\" horiz-adv-x="780" d="M10 1434h195l565 -1434h-195z" />
+<glyph unicode="]" horiz-adv-x="514" d="M45 0v184h148v1065h-148v185h373v-1434h-373z" />
+<glyph unicode="^" d="M41 799l285 635h159l285 -635h-180l-184 430l-185 -430h-180z" />
+<glyph unicode="_" horiz-adv-x="1024" d="M0 -20h1024v-164h-1024v164z" />
+<glyph unicode="`" horiz-adv-x="512" d="M90 1737h232l139 -228h-162z" />
+<glyph unicode="a" horiz-adv-x="833" d="M23 0l229 1434h330l229 -1434h-227l-39 260h-277l-39 -260h-206zM297 455h217l-108 725z" />
+<glyph unicode="b" horiz-adv-x="831" d="M82 0v1434h340q174 0 254 -81t80 -249v-51q0 -221 -146 -289q168 -66 168 -307v-117q0 -166 -87 -253t-255 -87h-354zM307 205h129q59 0 88 31.5t29 109.5v125q0 98 -34 136t-111 38h-101v-440zM307 850h88q68 0 101.5 35t33.5 116v80q0 147 -114 148h-109v-379z" />
+<glyph unicode="c" horiz-adv-x="790" d="M63 344v746q0 174 86.5 267t250 93t249.5 -93t86 -267v-140h-213v154q0 141 -116.5 141t-116.5 -141v-774q0 -139 116.5 -139.5t116.5 139.5v205h213v-191q0 -174 -86 -267t-249.5 -93t-250 93t-86.5 267z" />
+<glyph unicode="d" horiz-adv-x="835" d="M82 0v1434h356q336 0 336 -355v-725q0 -354 -336 -354h-356zM307 205h127q115 0 115 139v746q0 139 -115 139h-127v-1024z" />
+<glyph unicode="e" horiz-adv-x="753" d="M82 0v1434h614v-205h-389v-400h309v-204h-309v-420h389v-205h-614z" />
+<glyph unicode="f" horiz-adv-x="704" d="M82 0v1434h596v-205h-371v-432h291v-205h-291v-592h-225z" />
+<glyph unicode="g" horiz-adv-x="798" d="M63 344v746q0 174 86.5 267t250 93t249.5 -93t86 -267v-140h-213v154q0 141 -116.5 141t-116.5 -141v-774q0 -139 116.5 -139.5t116.5 139.5v264h-102v205h315v-455q0 -174 -86 -267t-249.5 -93t-250 93t-86.5 267z" />
+<glyph unicode="h" horiz-adv-x="874" d="M82 0v1434h225v-615h256v615h230v-1434h-230v614h-256v-614h-225z" />
+<glyph unicode="i" horiz-adv-x="389" d="M82 0v1434h225v-1434h-225z" />
+<glyph unicode="j" horiz-adv-x="524" d="M20 0v205q25 -2 78 -2q129 0 129 137v1094h226v-1078q0 -360 -324 -360q-72 0 -109 4z" />
+<glyph unicode="k" horiz-adv-x="847" d="M82 0v1434h225v-625l295 625h225l-313 -639l313 -795h-231l-219 571l-70 -131v-440h-225z" />
+<glyph unicode="l" horiz-adv-x="694" d="M82 0v1434h225v-1229h371v-205h-596z" />
+<glyph unicode="m" horiz-adv-x="1107" d="M80 0v1434h313l166 -1018l154 1018h313v-1434h-213v1028l-156 -1028h-213l-168 1014v-1014h-196z" />
+<glyph unicode="n" horiz-adv-x="874" d="M80 0v1434h282l232 -859v859h201v-1434h-232l-280 1038v-1038h-203z" />
+<glyph unicode="o" d="M63 344v746q0 172 88.5 266t254 94t254 -94t88.5 -266v-746q0 -172 -88.5 -266t-254 -94t-254 94t-88.5 266zM289 330q0 -141 116.5 -141.5t116.5 141.5v774q0 141 -116.5 141t-116.5 -141v-774z" />
+<glyph unicode="p" horiz-adv-x="772" d="M82 0v1434h332q336 0 336 -355v-186q0 -354 -336 -354h-107v-539h-225zM307 743h107q55 0 82.5 31t27.5 105v215q0 74 -27.5 104.5t-82.5 30.5h-107v-486z" />
+<glyph unicode="q" d="M63 344v746q0 172 88.5 266t254 94t254 -94t88.5 -266v-746q0 -121 -43 -201q12 -31 63 -30h20v-201h-30q-145 0 -195 98q-74 -27 -157 -26q-166 0 -254.5 94t-88.5 266zM289 330q0 -141 116.5 -141.5t116.5 141.5v774q0 141 -116.5 141t-116.5 -141v-774z" />
+<glyph unicode="r" horiz-adv-x="823" d="M82 0v1434h340q174 0 254 -81t80 -249v-113q0 -221 -148 -291q150 -63 150 -305v-221q0 -117 24 -174h-229q-20 61 -21 176v225q0 98 -34.5 140.5t-112.5 42.5h-78v-584h-225zM307 788h88q68 0 101.5 35t33.5 117v141q0 147 -114 148h-109v-441z" />
+<glyph unicode="s" horiz-adv-x="765" d="M47 344v88h213v-102q0 -139 117 -139.5t117 139.5q0 80 -45.5 150.5t-110 128t-130 120t-110.5 155.5t-45 206q0 174 84 267t248 93t248 -93t84 -267v-46h-213v60q0 141 -112.5 141t-112.5 -141q0 -59 24.5 -112.5t63.5 -96.5t86 -85t93 -88t85 -98.5t63.5 -124 t24.5 -155.5q0 -174 -86 -267t-250 -93t-250 93t-86 267z" />
+<glyph unicode="t" horiz-adv-x="729" d="M16 1229v205h697v-205h-236v-1229h-225v1229h-236z" />
+<glyph unicode="u" horiz-adv-x="815" d="M72 342v1092h225v-1106q0 -139 116.5 -139.5t116.5 139.5v1106h213v-1092q0 -174 -86 -267t-249.5 -93t-249.5 93t-86 267z" />
+<glyph unicode="v" horiz-adv-x="823" d="M23 1434h227l172 -1170l172 1170h207l-221 -1434h-336z" />
+<glyph unicode="w" horiz-adv-x="1153" d="M31 1434h219l121 -1131l108 1131h217l113 -1139l117 1139h196l-159 -1434h-299l-82 764l-82 -764h-310z" />
+<glyph unicode="x" horiz-adv-x="880" d="M31 0l252 737l-236 697h234l170 -529l174 529h209l-236 -697l252 -737h-238l-184 567l-186 -567h-211z" />
+<glyph unicode="y" d="M8 1434h236l172 -654l172 654h215l-285 -959v-475h-225v475z" />
+<glyph unicode="z" horiz-adv-x="757" d="M47 0v201l428 1028h-407v205h639v-201l-428 -1028h428v-205h-660z" />
+<glyph unicode="{" horiz-adv-x="526" d="M23 625v184q63 0 85.5 25.5t26.5 97.5l17 274q8 113 68.5 170.5t158.5 57.5h115v-185h-33q-55 0 -80 -31.5t-29 -113.5l-10 -205q-8 -150 -133 -182q125 -33 133 -182l10 -205q4 -82 29 -114t80 -32h33v-184h-115q-98 0 -158.5 57.5t-68.5 169.5l-17 275 q-4 72 -26.5 97.5t-85.5 25.5z" />
+<glyph unicode="|" horiz-adv-x="1024" d="M430 -133v1700h184v-1700h-184z" />
+<glyph unicode="}" horiz-adv-x="526" d="M33 0v184h33q55 0 79.5 32t28.5 114l10 205q8 150 133 182q-125 33 -133 182l-10 205q-4 82 -28.5 113.5t-79.5 31.5h-33v185h114q98 0 159 -57.5t69 -170.5l16 -274q4 -72 26.5 -97.5t86.5 -25.5v-184q-63 0 -86 -26t-27 -97l-16 -275q-8 -113 -68.5 -170t-159.5 -57 h-114z" />
+<glyph unicode="~" d="M16 680q70 104 126.5 144t117.5 40q59 0 155.5 -62.5t137.5 -62.5q33 0 58.5 23.5t76.5 93.5l107 -111q-70 -102 -125.5 -139t-118.5 -37q-59 0 -155.5 62.5t-137.5 62.5q-35 0 -60.5 -23.5t-74.5 -92.5z" />
+<glyph unicode="&#xa1;" horiz-adv-x="389" d="M82 0v598l29 518h168l28 -518v-598h-225zM86 1217v217h217v-217h-217z" />
+<glyph unicode="&#xa2;" d="M74 426v582q0 297 239 350v106h185v-104q248 -49 247 -352v-99h-213v113q0 141 -116.5 141t-116.5 -141v-610q0 -139 116.5 -139.5t116.5 139.5v163h213v-149q0 -305 -247 -352v-105h-185v107q-239 49 -239 350z" />
+<glyph unicode="&#xa3;" d="M61 0v197q82 0 137.5 62.5t57.5 170.5h-166v174h137q-14 39 -56 123t-65.5 167t-23.5 196q0 174 84 267t248 93t247.5 -93t83.5 -267v-142h-213v156q0 141 -112.5 141t-112.5 -141q0 -113 24.5 -200t62.5 -167t50 -133h248v-174h-233q-14 -145 -115 -225h387v-205h-670z " />
+<glyph unicode="&#xa5;" d="M14 1434h236l166 -633l166 633h215l-262 -879h170v-113h-187v-92h187v-112h-187v-238h-225v238h-187v112h187v92h-187v113h168z" />
+<glyph unicode="&#xa6;" horiz-adv-x="1024" d="M430 -133v727h184v-727h-184zM430 840v727h184v-727h-184z" />
+<glyph unicode="&#xa7;" d="M72 643q0 170 141 250q-141 92 -141 266q0 129 86 210t245.5 81t245.5 -76t86 -203v-73h-213v43q0 55 -29.5 89t-82.5 34q-113 0 -113 -115q0 -45 45 -79t109.5 -61.5t130 -64.5t110.5 -109.5t45 -177.5q0 -170 -143 -251q143 -88 143 -265q0 -129 -86 -210t-245.5 -81 t-245.5 76t-86 203v102h213v-71q0 -55 29.5 -89t82.5 -34q113 0 113 115q0 45 -45 78.5t-110.5 61t-130 64.5t-109.5 110t-45 177zM287 651q0 -57 31.5 -92t93.5 -65q49 8 79.5 52t30.5 103q0 94 -127 156q-49 -8 -78.5 -51.5t-29.5 -102.5z" />
+<glyph unicode="&#xa8;" horiz-adv-x="512" d="M2 1509v197h197v-197h-197zM313 1509v197h197v-197h-197z" />
+<glyph unicode="&#xa9;" horiz-adv-x="1507" d="M41 716.5q0 317.5 204 525.5t509 208t508.5 -208t203.5 -525.5t-203.5 -525t-508.5 -207.5t-509 207.5t-204 525zM188 717q0 -256 161 -423t404.5 -167t404.5 167t161 423t-161 423t-404.5 167t-404.5 -167t-161 -423zM514 516v397q0 254 231.5 254t231.5 -254v-73h-148 v86q0 98 -79.5 98t-79.5 -98v-418q0 -96 79.5 -96t79.5 96v123h148v-115q0 -250 -231.5 -250t-231.5 250z" />
+<glyph unicode="&#xaa;" horiz-adv-x="569" d="M61 446v142h435v-142h-435zM61 879v8q0 137 76 194.5t215 61.5v94q0 76 -57 76q-70 0 -70 -88v-47h-135v39q0 227 211 227q195 0 195 -227v-535h-121l-8 98q-35 -109 -146 -108q-160 0 -160 207zM205 891q0 -88 74 -88q68 0 73 74v159q-147 -6 -147 -127v-18z" />
+<glyph unicode="&#xab;" horiz-adv-x="727" d="M33 719l127 526h202l-124 -526l124 -559h-202zM365 719l127 526h202l-125 -526l125 -559h-202z" />
+<glyph unicode="&#xac;" d="M51 637v160h709v-441h-160v281h-549z" />
+<glyph unicode="&#xad;" horiz-adv-x="552" d="M72 614v205h409v-205h-409z" />
+<glyph unicode="&#xae;" horiz-adv-x="1507" d="M41 716.5q0 317.5 204 525.5t509 208t508.5 -208t203.5 -525.5t-203.5 -525t-508.5 -207.5t-509 207.5t-204 525zM188 717q0 -256 161 -423t404.5 -167t404.5 167t161 423t-161 423t-404.5 167t-404.5 -167t-161 -423zM528 279v876h238q231 0 231 -229v-19 q0 -156 -106 -202q106 -43 106 -211v-95q0 -80 19 -120h-160q-14 37 -14 122v95q0 70 -24.5 98.5t-80.5 28.5h-53v-344h-156zM684 766h64q94 0 94 104v37q0 104 -84 105h-74v-246z" />
+<glyph unicode="&#xaf;" horiz-adv-x="512" d="M20 1518v159h472v-159h-472z" />
+<glyph unicode="&#xb0;" horiz-adv-x="466" d="M31 1247q0 84 59.5 143.5t143 59.5t143 -59.5t59.5 -143.5t-59.5 -143.5t-143 -59.5t-143 59.5t-59.5 143.5zM133 1247q0 -41 30 -70.5t70.5 -29.5t70.5 29.5t30 70.5t-30 71t-70.5 30t-70.5 -30t-30 -71z" />
+<glyph unicode="&#xb1;" d="M72 356v160h254v164h-254v160h254v233h159v-233h254v-160h-254v-164h254v-160h-667z" />
+<glyph unicode="&#xb2;" horiz-adv-x="573" d="M86 719v110q0 74 28.5 136.5t70.5 108.5l84 92q42 46 71 108.5t29 134.5q0 102 -74 102t-74 -90v-96h-135v88q0 227 213 227t213 -227q0 -100 -48 -191.5t-104.5 -144.5t-98.5 -114.5t-32 -114.5h271v-129h-414z" />
+<glyph unicode="&#xb3;" horiz-adv-x="573" d="M74 938v74h135v-84q0 -90 73.5 -90t73.5 104v70q0 63 -21.5 88.5t-70.5 25.5h-49v129h55q86 0 86 99v51q0 104 -73.5 104t-73.5 -90v-57h-135v47q0 229 213 229t213 -229v-23q0 -145 -101 -186q100 -43 101 -190v-72q0 -229 -213 -229t-213 229z" />
+<glyph unicode="&#xb4;" horiz-adv-x="512" d="M55 1509l140 228h221l-209 -228h-152z" />
+<glyph unicode="&#xb6;" d="M29 893v186q0 354 336 355h364v-1567h-164v1403h-110v-1403h-164l4 676q-127 0 -196.5 96t-69.5 254z" />
+<glyph unicode="&#xb7;" horiz-adv-x="380" d="M82 608v217h217v-217h-217z" />
+<glyph unicode="&#xb8;" horiz-adv-x="512" d="M53 -162h152v-16q0 -41 45 -41q51 0 51 49q0 53 -74 53h-20v146h98v-109q78 0 115 -21.5t37 -74.5q0 -76 -51.5 -100.5t-155.5 -24.5q-197 0 -197 119v20z" />
+<glyph unicode="&#xb9;" horiz-adv-x="409" d="M51 1413v100q74 0 105.5 29t54.5 86h94v-909h-143v694h-111z" />
+<glyph unicode="&#xba;" horiz-adv-x="573" d="M70 446v142h434v-142h-434zM70 899v318q0 109 56 168t160.5 59t161 -59.5t56.5 -167.5v-318q0 -109 -56.5 -168t-161 -59t-160.5 59t-56 168zM213 891q0 -88 73.5 -88t73.5 88v334q0 88 -73.5 88t-73.5 -88v-334z" />
+<glyph unicode="&#xbb;" horiz-adv-x="727" d="M33 160l125 559l-125 526h203l126 -526l-126 -559h-203zM365 160l124 559l-124 526h202l127 -526l-127 -559h-202z" />
+<glyph unicode="&#xbc;" horiz-adv-x="1284" d="M133 1219v100q74 0 105.5 28.5t54.5 86.5h94v-910h-143v695h-111zM328 0l565 1434h133l-565 -1434h-133zM760 164v131l260 614h156v-614h67v-131h-67v-164h-142v164h-274zM889 295h145v336z" />
+<glyph unicode="&#xbd;" horiz-adv-x="1284" d="M133 1219v100q74 0 105.5 28.5t54.5 86.5h94v-910h-143v695h-111zM266 0l565 1434h134l-566 -1434h-133zM797 0v111q0 74 28.5 136t70.5 108l84 92q42 46 70.5 108.5t28.5 134.5q0 102 -73.5 102.5t-73.5 -90.5v-96h-135v88q0 227 213 227.5t213 -227.5 q0 -100 -48.5 -191t-104.5 -144.5t-98 -115t-32 -114.5h270v-129h-413z" />
+<glyph unicode="&#xbe;" horiz-adv-x="1284" d="M74 743v74h135v-84q0 -90 73.5 -90t73.5 105v69q0 63 -21.5 89t-70.5 26h-49v129h55q86 0 86 98v51q0 104 -73.5 104.5t-73.5 -89.5v-58h-135v47q0 229 213 229.5t213 -229.5v-22q0 -145 -101 -186q100 -43 101 -191v-72q0 -229 -213 -229t-213 229zM348 0l565 1434h134 l-566 -1434h-133zM760 164v131l260 614h156v-614h67v-131h-67v-164h-142v164h-274zM889 295h145v336z" />
+<glyph unicode="&#xbf;" horiz-adv-x="737" d="M33 344q0 125 42 228.5t91 159.5t91 137t42 167q0 45 -8 80h201q12 -37 12 -88q0 -104 -39 -191t-84 -141.5t-84 -150.5t-39 -215q0 -141 112.5 -141.5t112.5 141.5v155h213v-141q0 -174 -84 -267t-247.5 -93t-247.5 93t-84 267zM285 1217v217h217v-217h-217z" />
+<glyph unicode="&#xc0;" horiz-adv-x="833" d="M23 0l229 1434h330l229 -1434h-227l-39 260h-277l-39 -260h-206zM170 1737h231l140 -228h-162zM297 455h217l-108 725z" />
+<glyph unicode="&#xc1;" horiz-adv-x="833" d="M23 0l229 1434h330l229 -1434h-227l-39 260h-277l-39 -260h-206zM297 455h217l-108 725zM297 1509l139 228h221l-208 -228h-152z" />
+<glyph unicode="&#xc2;" horiz-adv-x="833" d="M23 0l229 1434h330l229 -1434h-227l-39 260h-277l-39 -260h-206zM133 1509l182 228h203l182 -228h-192l-92 113l-90 -113h-193zM297 455h217l-108 725z" />
+<glyph unicode="&#xc3;" horiz-adv-x="833" d="M23 0l229 1434h330l229 -1434h-227l-39 260h-277l-39 -260h-206zM139 1577q51 139 174 139q47 0 102.5 -25.5t82.5 -25.5q59 0 88 59l108 -75q-51 -139 -174 -140q-45 0 -100 26t-84 26q-59 0 -88 -60zM297 455h217l-108 725z" />
+<glyph unicode="&#xc4;" horiz-adv-x="833" d="M23 0l229 1434h330l229 -1434h-227l-39 260h-277l-39 -260h-206zM162 1509v197h196v-197h-196zM297 455h217l-108 725zM473 1509v197h197v-197h-197z" />
+<glyph unicode="&#xc5;" horiz-adv-x="833" d="M23 0l229 1434h330l229 -1434h-227l-39 260h-277l-39 -260h-206zM252 1667q0 70 47 117t116.5 47t117 -47t47.5 -117t-47.5 -117t-117 -47t-116.5 47t-47 117zM297 455h217l-108 725zM354 1667q0 -27 17.5 -44t44 -17t44 17t17.5 44t-17.5 44.5t-44 17.5t-44 -17.5 t-17.5 -44.5z" />
+<glyph unicode="&#xc6;" horiz-adv-x="1187" d="M8 0l383 1434h739v-205h-389v-400h310v-204h-310v-420h389v-205h-614v260h-227l-66 -260h-215zM340 455h176v690z" />
+<glyph unicode="&#xc7;" horiz-adv-x="790" d="M63 344v746q0 174 86.5 267t250 93t249.5 -93t86 -267v-140h-213v154q0 141 -116.5 141t-116.5 -141v-774q0 -139 116.5 -139.5t116.5 139.5v205h213v-191q0 -160 -74.5 -253t-216.5 -105v-66q78 0 115 -21.5t37 -74.5q0 -76 -51 -100.5t-156 -24.5q-197 0 -196 119v20 h151v-16q0 -41 45 -41q51 0 51 49q0 53 -73 53h-21v105q-283 28 -283 356z" />
+<glyph unicode="&#xc8;" horiz-adv-x="753" d="M82 0v1434h614v-205h-389v-400h309v-204h-309v-420h389v-205h-614zM139 1737h232l139 -228h-162z" />
+<glyph unicode="&#xc9;" horiz-adv-x="753" d="M82 0v1434h614v-205h-389v-400h309v-204h-309v-420h389v-205h-614zM268 1509l140 228h221l-209 -228h-152z" />
+<glyph unicode="&#xca;" horiz-adv-x="753" d="M82 0v1434h614v-205h-389v-400h309v-204h-309v-420h389v-205h-614zM102 1509l183 228h202l183 -228h-193l-92 113l-90 -113h-193z" />
+<glyph unicode="&#xcb;" horiz-adv-x="753" d="M82 0v1434h614v-205h-389v-400h309v-204h-309v-420h389v-205h-614zM133 1509v197h197v-197h-197zM444 1509v197h197v-197h-197z" />
+<glyph unicode="&#xcc;" horiz-adv-x="389" d="M-51 1737h231l139 -228h-161zM82 0v1434h225v-1434h-225z" />
+<glyph unicode="&#xcd;" horiz-adv-x="389" d="M76 1509l139 228h221l-209 -228h-151zM82 0v1434h225v-1434h-225z" />
+<glyph unicode="&#xce;" horiz-adv-x="389" d="M-88 1509l182 228h203l182 -228h-192l-92 113l-91 -113h-192zM82 0v1434h225v-1434h-225z" />
+<glyph unicode="&#xcf;" horiz-adv-x="389" d="M-59 1509v197h196v-197h-196zM82 0v1434h225v-1434h-225zM252 1509v197h197v-197h-197z" />
+<glyph unicode="&#xd0;" horiz-adv-x="835" d="M8 625v184h74v625h356q336 0 336 -355v-725q0 -354 -336 -354h-356v625h-74zM307 205h127q115 0 115 139v746q0 139 -115 139h-127v-420h139v-184h-139v-420z" />
+<glyph unicode="&#xd1;" horiz-adv-x="874" d="M80 0v1434h282l232 -859v859h201v-1434h-232l-280 1038v-1038h-203zM160 1577q51 139 174 139q47 0 102.5 -25.5t81.5 -25.5q59 0 88 59l109 -75q-51 -139 -174 -140q-45 0 -100.5 26t-84.5 26q-59 0 -88 -60z" />
+<glyph unicode="&#xd2;" d="M63 344v746q0 172 88.5 266t254 94t254 -94t88.5 -266v-746q0 -172 -88.5 -266t-254 -94t-254 94t-88.5 266zM158 1737h231l139 -228h-161zM289 330q0 -141 116.5 -141.5t116.5 141.5v774q0 141 -116.5 141t-116.5 -141v-774z" />
+<glyph unicode="&#xd3;" d="M63 344v746q0 172 88.5 266t254 94t254 -94t88.5 -266v-746q0 -172 -88.5 -266t-254 -94t-254 94t-88.5 266zM287 1509l139 228h221l-209 -228h-151zM289 330q0 -141 116.5 -141.5t116.5 141.5v774q0 141 -116.5 141t-116.5 -141v-774z" />
+<glyph unicode="&#xd4;" d="M63 344v746q0 172 88.5 266t254 94t254 -94t88.5 -266v-746q0 -172 -88.5 -266t-254 -94t-254 94t-88.5 266zM121 1509l182 228h203l182 -228h-192l-93 113l-90 -113h-192zM289 330q0 -141 116.5 -141.5t116.5 141.5v774q0 141 -116.5 141t-116.5 -141v-774z" />
+<glyph unicode="&#xd5;" d="M63 344v746q0 172 88.5 266t254 94t254 -94t88.5 -266v-746q0 -172 -88.5 -266t-254 -94t-254 94t-88.5 266zM129 1577q51 139 174 139q45 0 100.5 -25.5t83.5 -25.5q59 0 88 59l109 -75q-51 -139 -174 -140q-47 0 -102.5 26t-81.5 26q-59 0 -88 -60zM289 330 q0 -141 116.5 -141.5t116.5 141.5v774q0 141 -116.5 141t-116.5 -141v-774z" />
+<glyph unicode="&#xd6;" d="M63 344v746q0 172 88.5 266t254 94t254 -94t88.5 -266v-746q0 -172 -88.5 -266t-254 -94t-254 94t-88.5 266zM152 1509v197h196v-197h-196zM289 330q0 -141 116.5 -141.5t116.5 141.5v774q0 141 -116.5 141t-116.5 -141v-774zM463 1509v197h196v-197h-196z" />
+<glyph unicode="&#xd7;" d="M78 500l217 217l-215 215l108 108l218 -215l217 217l108 -108l-217 -217l217 -217l-108 -109l-217 217l-220 -217z" />
+<glyph unicode="&#xd8;" d="M63 344v746q0 172 88.5 266t254.5 94q123 0 204 -53l41 112l76 -26l-53 -146q74 -88 74 -247v-746q0 -172 -88.5 -266t-253.5 -94q-127 0 -205 51l-41 -111l-76 27l51 143q-72 94 -72 250zM289 514l229 633q-14 98 -112 98q-117 0 -117 -141v-590zM291 287 q16 -98 115 -99q117 0 116 142v590z" />
+<glyph unicode="&#xd9;" horiz-adv-x="815" d="M72 342v1092h225v-1106q0 -139 116.5 -139.5t116.5 139.5v1106h213v-1092q0 -174 -86 -267t-249.5 -93t-249.5 93t-86 267zM162 1737h231l139 -228h-161z" />
+<glyph unicode="&#xda;" horiz-adv-x="815" d="M72 342v1092h225v-1106q0 -139 116.5 -139.5t116.5 139.5v1106h213v-1092q0 -174 -86 -267t-249.5 -93t-249.5 93t-86 267zM291 1509l139 228h221l-209 -228h-151z" />
+<glyph unicode="&#xdb;" horiz-adv-x="815" d="M72 342v1092h225v-1106q0 -139 116.5 -139.5t116.5 139.5v1106h213v-1092q0 -174 -86 -267t-249.5 -93t-249.5 93t-86 267zM127 1509l182 228h203l182 -228h-192l-92 113l-91 -113h-192z" />
+<glyph unicode="&#xdc;" horiz-adv-x="815" d="M72 342v1092h225v-1106q0 -139 116.5 -139.5t116.5 139.5v1106h213v-1092q0 -174 -86 -267t-249.5 -93t-249.5 93t-86 267zM158 1509v197h196v-197h-196zM469 1509v197h197v-197h-197z" />
+<glyph unicode="&#xdd;" d="M8 1434h236l172 -654l172 654h215l-285 -959v-475h-225v475zM295 1509l139 228h221l-209 -228h-151z" />
+<glyph unicode="&#xde;" horiz-adv-x="772" d="M82 0v1434h225v-164h107q336 0 336 -355v-186q0 -354 -336 -354h-107v-375h-225zM307 580h107q55 0 82.5 30.5t27.5 104.5v215q0 74 -27.5 104.5t-82.5 30.5h-107v-485z" />
+<glyph unicode="&#xdf;" horiz-adv-x="1531" d="M47 344v88h213v-102q0 -139 117 -139.5t117 139.5q0 80 -45.5 150.5t-110 128t-130 120t-110.5 155.5t-45 206q0 174 84 267t248 93t248 -93t84 -267v-46h-213v60q0 141 -112.5 141t-112.5 -141q0 -59 24.5 -112.5t63.5 -96.5t86 -85t93 -88t85 -98.5t63.5 -124 t24.5 -155.5q0 -174 -86 -267t-250 -93t-250 93t-86 267zM813 344v88h213v-102q0 -139 117 -139.5t117 139.5q0 80 -45.5 150.5t-110 128t-130 120t-110.5 155.5t-45 206q0 174 84 267t248 93t248 -93t84 -267v-46h-213v60q0 141 -113 141t-113 -141q0 -59 25 -112.5 t63.5 -96.5t86 -85t93.5 -88t85 -98.5t63.5 -124t24.5 -155.5q0 -174 -86 -267t-250 -93t-250 93t-86 267z" />
+<glyph unicode="&#xe0;" horiz-adv-x="833" d="M23 0l229 1434h330l229 -1434h-227l-39 260h-277l-39 -260h-206zM170 1737h231l140 -228h-162zM297 455h217l-108 725z" />
+<glyph unicode="&#xe1;" horiz-adv-x="833" d="M23 0l229 1434h330l229 -1434h-227l-39 260h-277l-39 -260h-206zM297 455h217l-108 725zM297 1509l139 228h221l-208 -228h-152z" />
+<glyph unicode="&#xe2;" horiz-adv-x="833" d="M23 0l229 1434h330l229 -1434h-227l-39 260h-277l-39 -260h-206zM133 1509l182 228h203l182 -228h-192l-92 113l-90 -113h-193zM297 455h217l-108 725z" />
+<glyph unicode="&#xe3;" horiz-adv-x="833" d="M23 0l229 1434h330l229 -1434h-227l-39 260h-277l-39 -260h-206zM139 1577q51 139 174 139q47 0 102.5 -25.5t82.5 -25.5q59 0 88 59l108 -75q-51 -139 -174 -140q-45 0 -100 26t-84 26q-59 0 -88 -60zM297 455h217l-108 725z" />
+<glyph unicode="&#xe4;" horiz-adv-x="833" d="M23 0l229 1434h330l229 -1434h-227l-39 260h-277l-39 -260h-206zM162 1509v197h196v-197h-196zM297 455h217l-108 725zM473 1509v197h197v-197h-197z" />
+<glyph unicode="&#xe5;" horiz-adv-x="833" d="M23 0l229 1434h330l229 -1434h-227l-39 260h-277l-39 -260h-206zM252 1667q0 70 47 117t116.5 47t117 -47t47.5 -117t-47.5 -117t-117 -47t-116.5 47t-47 117zM297 455h217l-108 725zM354 1667q0 -27 17.5 -44t44 -17t44 17t17.5 44t-17.5 44.5t-44 17.5t-44 -17.5 t-17.5 -44.5z" />
+<glyph unicode="&#xe6;" horiz-adv-x="1187" d="M8 0l383 1434h739v-205h-389v-400h310v-204h-310v-420h389v-205h-614v260h-227l-66 -260h-215zM340 455h176v690z" />
+<glyph unicode="&#xe7;" horiz-adv-x="790" d="M63 344v746q0 174 86.5 267t250 93t249.5 -93t86 -267v-140h-213v154q0 141 -116.5 141t-116.5 -141v-774q0 -139 116.5 -139.5t116.5 139.5v205h213v-191q0 -160 -74.5 -253t-216.5 -105v-66q78 0 115 -21.5t37 -74.5q0 -76 -51 -100.5t-156 -24.5q-197 0 -196 119v20 h151v-16q0 -41 45 -41q51 0 51 49q0 53 -73 53h-21v105q-283 28 -283 356z" />
+<glyph unicode="&#xe8;" horiz-adv-x="753" d="M82 0v1434h614v-205h-389v-400h309v-204h-309v-420h389v-205h-614zM139 1737h232l139 -228h-162z" />
+<glyph unicode="&#xe9;" horiz-adv-x="753" d="M82 0v1434h614v-205h-389v-400h309v-204h-309v-420h389v-205h-614zM268 1509l140 228h221l-209 -228h-152z" />
+<glyph unicode="&#xea;" horiz-adv-x="753" d="M82 0v1434h614v-205h-389v-400h309v-204h-309v-420h389v-205h-614zM102 1509l183 228h202l183 -228h-193l-92 113l-90 -113h-193z" />
+<glyph unicode="&#xeb;" horiz-adv-x="753" d="M82 0v1434h614v-205h-389v-400h309v-204h-309v-420h389v-205h-614zM133 1509v197h197v-197h-197zM444 1509v197h197v-197h-197z" />
+<glyph unicode="&#xec;" horiz-adv-x="389" d="M-51 1737h231l139 -228h-161zM82 0v1434h225v-1434h-225z" />
+<glyph unicode="&#xed;" horiz-adv-x="389" d="M76 1509l139 228h221l-209 -228h-151zM82 0v1434h225v-1434h-225z" />
+<glyph unicode="&#xee;" horiz-adv-x="389" d="M-88 1509l182 228h203l182 -228h-192l-92 113l-91 -113h-192zM82 0v1434h225v-1434h-225z" />
+<glyph unicode="&#xef;" horiz-adv-x="389" d="M-59 1509v197h196v-197h-196zM82 0v1434h225v-1434h-225zM252 1509v197h197v-197h-197z" />
+<glyph unicode="&#xf0;" horiz-adv-x="835" d="M8 625v184h74v625h356q336 0 336 -355v-725q0 -354 -336 -354h-356v625h-74zM307 205h127q115 0 115 139v746q0 139 -115 139h-127v-420h139v-184h-139v-420z" />
+<glyph unicode="&#xf1;" horiz-adv-x="874" d="M80 0v1434h282l232 -859v859h201v-1434h-232l-280 1038v-1038h-203zM160 1577q51 139 174 139q47 0 102.5 -25.5t81.5 -25.5q59 0 88 59l109 -75q-51 -139 -174 -140q-45 0 -100.5 26t-84.5 26q-59 0 -88 -60z" />
+<glyph unicode="&#xf2;" d="M63 344v746q0 172 88.5 266t254 94t254 -94t88.5 -266v-746q0 -172 -88.5 -266t-254 -94t-254 94t-88.5 266zM158 1737h231l139 -228h-161zM289 330q0 -141 116.5 -141.5t116.5 141.5v774q0 141 -116.5 141t-116.5 -141v-774z" />
+<glyph unicode="&#xf3;" d="M63 344v746q0 172 88.5 266t254 94t254 -94t88.5 -266v-746q0 -172 -88.5 -266t-254 -94t-254 94t-88.5 266zM287 1509l139 228h221l-209 -228h-151zM289 330q0 -141 116.5 -141.5t116.5 141.5v774q0 141 -116.5 141t-116.5 -141v-774z" />
+<glyph unicode="&#xf4;" d="M63 344v746q0 172 88.5 266t254 94t254 -94t88.5 -266v-746q0 -172 -88.5 -266t-254 -94t-254 94t-88.5 266zM121 1509l182 228h203l182 -228h-192l-93 113l-90 -113h-192zM289 330q0 -141 116.5 -141.5t116.5 141.5v774q0 141 -116.5 141t-116.5 -141v-774z" />
+<glyph unicode="&#xf5;" d="M63 344v746q0 172 88.5 266t254 94t254 -94t88.5 -266v-746q0 -172 -88.5 -266t-254 -94t-254 94t-88.5 266zM129 1577q51 139 174 139q45 0 100.5 -25.5t83.5 -25.5q59 0 88 59l109 -75q-51 -139 -174 -140q-47 0 -102.5 26t-81.5 26q-59 0 -88 -60zM289 330 q0 -141 116.5 -141.5t116.5 141.5v774q0 141 -116.5 141t-116.5 -141v-774z" />
+<glyph unicode="&#xf6;" d="M63 344v746q0 172 88.5 266t254 94t254 -94t88.5 -266v-746q0 -172 -88.5 -266t-254 -94t-254 94t-88.5 266zM152 1509v197h196v-197h-196zM289 330q0 -141 116.5 -141.5t116.5 141.5v774q0 141 -116.5 141t-116.5 -141v-774zM463 1509v197h196v-197h-196z" />
+<glyph unicode="&#xf7;" d="M51 637v160h709v-160h-709zM297 295v217h217v-217h-217zM297 920v217h217v-217h-217z" />
+<glyph unicode="&#xf8;" d="M63 344v746q0 172 88.5 266t254.5 94q123 0 204 -53l41 112l76 -26l-53 -146q74 -88 74 -247v-746q0 -172 -88.5 -266t-253.5 -94q-127 0 -205 51l-41 -111l-76 27l51 143q-72 94 -72 250zM289 514l229 633q-14 98 -112 98q-117 0 -117 -141v-590zM291 287 q16 -98 115 -99q117 0 116 142v590z" />
+<glyph unicode="&#xf9;" horiz-adv-x="815" d="M72 342v1092h225v-1106q0 -139 116.5 -139.5t116.5 139.5v1106h213v-1092q0 -174 -86 -267t-249.5 -93t-249.5 93t-86 267zM162 1737h231l139 -228h-161z" />
+<glyph unicode="&#xfa;" horiz-adv-x="815" d="M72 342v1092h225v-1106q0 -139 116.5 -139.5t116.5 139.5v1106h213v-1092q0 -174 -86 -267t-249.5 -93t-249.5 93t-86 267zM291 1509l139 228h221l-209 -228h-151z" />
+<glyph unicode="&#xfb;" horiz-adv-x="815" d="M72 342v1092h225v-1106q0 -139 116.5 -139.5t116.5 139.5v1106h213v-1092q0 -174 -86 -267t-249.5 -93t-249.5 93t-86 267zM127 1509l182 228h203l182 -228h-192l-92 113l-91 -113h-192z" />
+<glyph unicode="&#xfc;" horiz-adv-x="815" d="M72 342v1092h225v-1106q0 -139 116.5 -139.5t116.5 139.5v1106h213v-1092q0 -174 -86 -267t-249.5 -93t-249.5 93t-86 267zM158 1509v197h196v-197h-196zM469 1509v197h197v-197h-197z" />
+<glyph unicode="&#xfd;" d="M8 1434h236l172 -654l172 654h215l-285 -959v-475h-225v475zM295 1509l139 228h221l-209 -228h-151z" />
+<glyph unicode="&#xfe;" horiz-adv-x="772" d="M82 0v1434h225v-164h107q336 0 336 -355v-186q0 -354 -336 -354h-107v-375h-225zM307 580h107q55 0 82.5 30.5t27.5 104.5v215q0 74 -27.5 104.5t-82.5 30.5h-107v-485z" />
+<glyph unicode="&#xff;" d="M8 1434h236l172 -654l172 654h215l-285 -959v-475h-225v475zM160 1509v197h196v-197h-196zM471 1509v197h197v-197h-197z" />
+<glyph unicode="&#x152;" horiz-adv-x="1200" d="M61 354v725q0 354 336 355h746v-205h-389v-400h309v-204h-309v-420h389v-205h-746q-336 0 -336 354zM287 344q0 -139 114 -139h127v1024h-127q-115 0 -114 -139v-746z" />
+<glyph unicode="&#x153;" horiz-adv-x="1200" d="M61 354v725q0 354 336 355h746v-205h-389v-400h309v-204h-309v-420h389v-205h-746q-336 0 -336 354zM287 344q0 -139 114 -139h127v1024h-127q-115 0 -114 -139v-746z" />
+<glyph unicode="&#x178;" d="M8 1434h236l172 -654l172 654h215l-285 -959v-475h-225v475zM160 1509v197h196v-197h-196zM471 1509v197h197v-197h-197z" />
+<glyph unicode="&#x2c6;" horiz-adv-x="512" d="M-27 1509l183 228h202l183 -228h-193l-92 113l-90 -113h-193z" />
+<glyph unicode="&#x2dc;" horiz-adv-x="512" d="M-20 1577q51 139 174 139q47 0 102 -25.5t82 -25.5q59 0 88 59l109 -75q-51 -139 -175 -140q-45 0 -100 26t-84 26q-59 0 -88 -60z" />
+<glyph unicode="&#x2013;" horiz-adv-x="1024" d="M0 625v184h1024v-184h-1024z" />
+<glyph unicode="&#x2014;" horiz-adv-x="2048" d="M0 625v184h2048v-184h-2048z" />
+<glyph unicode="&#x2018;" horiz-adv-x="380" d="M82 1012v194l98 228h92l-59 -205h86v-217h-217z" />
+<glyph unicode="&#x2019;" horiz-adv-x="380" d="M82 1217v217h217v-195l-98 -227h-92l59 205h-86z" />
+<glyph unicode="&#x201a;" horiz-adv-x="380" d="M82 0v217h217v-194l-98 -228h-92l59 205h-86z" />
+<glyph unicode="&#x201c;" horiz-adv-x="679" d="M82 1012v194l98 228h92l-59 -205h86v-217h-217zM381 1012v194l98 228h92l-59 -205h86v-217h-217z" />
+<glyph unicode="&#x201d;" horiz-adv-x="679" d="M82 1217v217h217v-195l-98 -227h-92l59 205h-86zM381 1217v217h217v-195l-98 -227h-92l59 205h-86z" />
+<glyph unicode="&#x201e;" horiz-adv-x="679" d="M82 0v217h217v-194l-98 -228h-92l59 205h-86zM381 0v217h217v-194l-98 -228h-92l59 205h-86z" />
+<glyph unicode="&#x2022;" d="M121 717q0 119 83 201.5t201.5 82.5t201.5 -82.5t83 -201.5t-83 -202t-201.5 -83t-201.5 83t-83 202z" />
+<glyph unicode="&#x2026;" horiz-adv-x="978" d="M82 0v217h217v-217h-217zM381 0v217h217v-217h-217zM680 0v217h217v-217h-217z" />
+<glyph unicode="&#x2039;" horiz-adv-x="401" d="M33 719l123 545h213l-121 -545l121 -578h-213z" />
+<glyph unicode="&#x203a;" horiz-adv-x="401" d="M33 141l121 578l-121 545h213l123 -545l-123 -578h-213z" />
+<glyph unicode="&#x20ac;" d="M39 553v113h57v112h-57v113h57v199q0 174 83 267t247 93t247 -93t83 -267v-105h-213v119q0 141 -110.5 141t-110.5 -141v-213h315v-113h-315v-112h315v-113h-315v-223q0 -139 110.5 -139.5t110.5 139.5v129h213v-115q0 -174 -83 -267t-247 -93t-247 93t-83 267v209h-57z " />
+<glyph unicode="&#x2122;" horiz-adv-x="1200" d="M20 1303v131h443v-131h-150v-598h-143v598h-150zM549 705v729h199l106 -512l96 512h199v-729h-135v518l-96 -518h-136l-108 514v-514h-125z" />
+<glyph unicode="&#xe000;" horiz-adv-x="1435" d="M0 1435h1435v-1435h-1435v1435z" />
+<glyph unicode="&#xfb01;" horiz-adv-x="1093" d="M787 0v1434h225v-1434h-225zM82 0v1434h596v-205h-371v-432h291v-205h-291v-592h-225z" />
+<glyph unicode="&#xfb02;" horiz-adv-x="1398" d="M787 0v1434h225v-1229h371v-205h-596zM82 0v1434h596v-205h-371v-432h291v-205h-291v-592h-225z" />
+<glyph unicode="&#xfb03;" horiz-adv-x="1798" d="M1491 0v1434h225v-1434h-225zM787 0v1434h596v-205h-371v-432h291v-205h-291v-592h-225zM82 0v1434h596v-205h-371v-432h291v-205h-291v-592h-225z" />
+<glyph unicode="&#xfb04;" horiz-adv-x="2103" d="M1491 0v1434h225v-1229h371v-205h-596zM787 0v1434h596v-205h-371v-432h291v-205h-291v-592h-225zM82 0v1434h596v-205h-371v-432h291v-205h-291v-592h-225z" />
+</font>
+</defs></svg>
View
BIN public/static/css/fonts/bebasneue-webfont.ttf
Binary file not shown.
View
BIN public/static/css/fonts/bebasneue-webfont.woff
Binary file not shown.
View
73 public/static/css/style.css
@@ -1,6 +1,12 @@
@font-face {
font-family: BebasNeue;
- src: url('BebasNeue.otf');
+ src: url('fonts/bebasneue-webfont.eot');
+ src: url('fonts/bebasneue-webfont.eot?#iefix') format('embedded-opentype'),
+ url('fonts/bebasneue-webfont.woff') format('woff'),
+ url('fonts/bebasneue-webfont.ttf') format('truetype'),
+ url('fonts/bebasneue-webfont.svg#BebasNeueRegular') format('svg');
+ font-weight: normal;
+ font-style: normal;
}
body {
@@ -9,7 +15,7 @@ body {
padding: 0;
margin: 0 auto;
background: #E6E6E6;
- font-family: Helvetica;
+ font-family: Arial, sans-serif;
}
#head {
@@ -20,19 +26,25 @@ body {
}
#content {
- width: 100%;
- min-height: 516px;
- float: left;
background: #E6E6E6 url('../images/bg.png');
+ float: left;
+ min-height: 516px;
+ padding-bottom: 50px;
+ position: relative;
+ width: 100%;
+ z-index: 1;
}
/* footer */
#footer {
+ position: relative;
+ z-index: 10;
width: 100%;
height: 410px;
- padding-top: 125px;
+ padding-top: 100px;
float: left;
- background: #566579 url('../images/footer_top_bg.png') repeat-x;
+ margin-top: -55px;
+ background: url('../images/footer_top_bg.png') repeat-x;
}
#footer ul {
@@ -81,7 +93,6 @@ body {
#activity, #latest-post {
float: left;
width: 217px;
- height: 253px;
overflow: hidden;
}
@@ -160,7 +171,7 @@ body {
}
#quick-form textarea {
- font-family: Helvetica;
+ font-family: Arial;
width: 200px;
height: 85px;
padding: 10px;
@@ -299,7 +310,7 @@ body {
background: url('../images/home-links.png') no-repeat -235px 0px;
}
-#home-links ul li.services {
+#home-links ul li.skills {
background: url('../images/home-links.png') no-repeat -471px 0px;
}
@@ -428,14 +439,14 @@ body {
#pathbar ul li a {
color: #525F72;
text-decoration: none;
- font: 14px Helvetica;
+ font: 14px Arial;
font-weight: bold;
text-shadow: #fff 0px 1px 1px;
}
.title {
width: 915px;
- font: 30px Helvetica;
+ font: 30px Arial;
color: #515966;
text-shadow: #ffffff 0px 1px 1px;
margin: 0 auto;
@@ -444,39 +455,39 @@ body {
text-align: left;
}
-#services {
+#skills {
width: 915px;
margin: 0 auto;
padding-bottom: 11px;
}
-.services-items {
+.skills-items {
}
-.services-items ul {
+.skills-items ul {
list-style: none;
margin: 0px;
padding: 0px;
}
-.services-items ul li.service-item {
+.skills-items ul li.skill {
width: 903px;
height: 101px;
padding: 10px;
background: url('../images/service-item.png') no-repeat;
margin: 0px 0px 50px 0px;
}
-.services-items ul li.service-item .service-item-image {
+.skills-items ul li.skill .skill-item-image {
width: 150px;
height: 100%;
float: left;
}
-.services-items ul li.service-item .service-item-desc {
+.skills-items ul li.skill .skill-item-desc {
width: 752px;
float: left;
- font: 18px Helvetica;
+ font: 18px Arial;
color: #515966;
}
@@ -488,7 +499,7 @@ body {
#about .about-left {
width: 535px;
min-height: 300px;
- font: 18px Helvetica;
+ font: 18px Arial;
color: #515966;
float: left;
}
@@ -530,14 +541,14 @@ body {
#portfolio ul li.portfolio-item .left-col h1 {
width: 520px;
margin: 0px;
- font: 30px Helvetica;
+ font: 30px Arial;
color: #515966;
text-shadow: #fff 0px 1px 1px;
}
#portfolio ul li.portfolio-item .left-col span {
margin: 0px;
- font: 14px Helvetica;
+ font: 14px Arial;
color: #515966;
text-shadow: #fff 0px 1px 1px;
}
@@ -546,12 +557,12 @@ body {
#portfolio ul li.portfolio-item .left-col .type {
width: 520px;
margin-top: 13px;
- font: 18px Helvetica;
+ font: 18px Arial;
color: #515966;
}
#portfolio ul li.portfolio-item .left-col a.more {
- font: 14px Helvetica;
+ font: 14px Arial;
color: #515966;
font-style: italic;
}
@@ -565,7 +576,7 @@ body {
#contacts {
width: 915px;
margin: 0 auto;
- font: 18px Helvetica;
+ font: 18px Arial;
color: #515966;
padding-top: 50px;
}
@@ -639,11 +650,11 @@ body {
#post {
width: 915px;
margin: 0 auto;
- font: 18px Helvetica;
+ font: 18px Arial;
color: #515966;
}
#post a{
- font: 18px Helvetica;
+ font: 18px Arial;
color: #515966;
}
@@ -656,7 +667,7 @@ body {
width: 100%;
float: left;
margin-bottom: 30px;
- font-family: Helvetica;
+ font-family: Arial;
}
.blog-post h1 {
@@ -676,10 +687,10 @@ body {
width: 100%;
color: #515966;
text-align: left;
- font: 18px Helvetica;
+ font: 18px Arial;
}
.blog-post span a{
- font: 18px Helvetica;
+ font: 18px Arial;
color: #515966;
}
@@ -698,7 +709,7 @@ body {
.pagination .step-links,
.pagination .step-links a {
- font-family: Helvetica ,Arial,sans-serif;
+ font-family: Arial ,Arial,sans-serif;
text-transform: uppercase;
text-decoration: none;
font-size: 12px;
View
BIN public/static/images/footer_top_bg.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
6 public/static/js/site.js
@@ -3,6 +3,12 @@
*/
$(document).ready(function(){
/**
+ * check on ie
+ */
+ if ($.browser.msie) {
+ alert("Internet Explorer doesn't support");
+ }
+ /**
* send message from quick form
*/
$('#quick-submit').live('click',function(){
View
2 public/templates/404.html
@@ -4,6 +4,6 @@
{% endblock %}
{% block content %}
<div id="error">
- {{ _('Page not found') }}
+ Page not found
</div>
{% endblock %}
View
2 public/templates/500.html
@@ -4,6 +4,6 @@
{% endblock %}
{% block content %}
<div id="error">
- {{ _('Error') }}
+ Error
</div>
{% endblock %}
View
4 public/templates/about.html
@@ -1,4 +1,6 @@
-{% extends 'base.html' %}{% block title %}About me{% endblock %}{% block page_title %}About me{% endblock %}
+{% extends 'base.html' %}
+{% block title %}About me{% endblock %}
+{% block page_title %}About me{% endblock %}
{% block content %}<div id="about">
<div class="about-left">
{{ about.description }}
View
90 public/templates/base.html
@@ -15,12 +15,12 @@
<div id="head">
<div id="menu">
<ul>
- <li><a href="/"><button class="{% if home %}active{% else %}button{% endif %}">{{ _('home')|capfirst }}</button></a></li>
- <li><a href="/about/"><button class="{% if about %} active{% else %}button{% endif %}">{{ _('about me')|capfirst }}</button></a></li>
- <li><a href="/blog/"><button class="{% ifequal page 'blog' %} active{% else %}button{% endifequal %}">{{ _('blog')|capfirst }}</button></a></li>
- <li><a href="/portfolio/"><button class="{% if portfolio %} active{% else %}button{% endif %}">{{ _('portfolio')|capfirst }}</button></a></li>
- <li><a href="/services/"><button class="{% if services %} active{% else %}button{% endif %}">{{ _('services')|capfirst }}</button></a></li>
- <li><a href="/contacts/"><button class="{% if contacts %} active{% else %}button{% endif %}">{{ _('contacts')|capfirst }}</button></a></li>
+ <li><a href="/"><button class="{% if home %}active{% else %}button{% endif %}">Home</button></a></li>
+ <li><a href="/about/"><button class="{% if about %} active{% else %}button{% endif %}">About me</button></a></li>
+ <li><a href="/blog/"><button class="{% ifequal page 'blog' %} active{% else %}button{% endifequal %}">Blog</button></a></li>
+ <li><a href="/portfolio/"><button class="{% if portfolio %} active{% else %}button{% endif %}">Portfolio</button></a></li>
+ <li><a href="/skills/"><button class="{% if skills %} active{% else %}button{% endif %}">Skills</button></a></li>
+ <li><a href="/contacts/"><button class="{% if contacts %} active{% else %}button{% endif %}">Contacts</button></a></li>
</ul>
</div>
</div>
@@ -29,42 +29,52 @@
{% block content %}{% endblock %}
</div>
<div id="footer">{% load footer_tags %}
- <ul>
- <li>
- <div class="block">
- <div class="header social"></div>
- <div id="activity">
- <div class="loader hidden"></div>
- <ul id="activity-tweets"></ul>
- </div>
- </div>
- </li>
- <li>
- <div class="block">
- <div class="header contact"></div>
- <div id="quick-form">
- <form id="quick-message">{% csrf_token %}
- {% quick_form %}
- <p><button id="quick-submit" onclick="return false;">{{ _('send')|capfirst }}</button></p>
- </form>
- </div>
- </div>
- </li>
- <li class="last">
- <div class="block">
- <div class="header find_us"></div>
- <div id="latest-post">
- <ul>{% latest_posts %}
- {% for post in latest_posts %}<li><a href="{{ post.get_absolute_url }}">{{ post.title }}</a></li>
- {% endfor %}
+ <div style="background: #566579;">
+ <ul>
+ <li>
+ <div class="block">
+ <div class="header social"></div>
+ <div id="activity">
+ <div class="loader hidden"></div>
+ <ul id="activity-tweets"></ul>
+ </div>
+ <div id="social_link">
+ <ul>{% social %}
+ <li><a href="{{ social.facebook }}" target="_blank"><img src="{{ STATIC_URL }}images/social/facebook.png" alt=""></a></li>
+ <li><a href="{{ social.twitter }}" target="_blank"><img src="{{ STATIC_URL }}images/social/twitter.png" alt=""></a></li>
+ <li><a href="{{ social.github }}" target="_blank"><img src="{{ STATIC_URL }}images/social/github.png" alt=""></a></li>
</ul>
</div>
- </div>
- </li>
- </ul>
- <div class="copyright">
- <div class="by-django"><img src="{{ STATIC_URL }}images/django-logo.gif" alt=""></div>
- <div class="rss"><a href="/blog/rss/" title="RSS"><img src="{{ STATIC_URL }}images/rss_logo.png" alt=""></a></div>
+ </div>
+ </li>
+ <li>
+ <div class="block">
+ <div class="header contact"></div>
+ <div id="quick-form">
+ <form id="quick-message">
+ {% csrf_token %}
+ {% quick_form %}
+ <p><button id="quick-submit" onclick="return false;">Send</button></p>
+ </form>
+ </div>
+ </div>
+ </li>
+ <li class="last">
+ <div class="block">
+ <div class="header find_us"></div>
+ <div id="latest-post">
+ <ul>{% latest_posts %}
+ {% for post in latest_posts %}<li><a href="{{ post.get_absolute_url }}">{{ post.title }}</a></li>
+ {% endfor %}
+ </ul>
+ </div>
+ </div>
+ </li>
+ </ul>
+ <div class="copyright">
+ <div class="by-django"><img src="{{ STATIC_URL }}images/django-logo.gif" alt=""></div>
+ <div class="rss"><a href="/blog/rss/"><img src="{{ STATIC_URL }}images/rss_logo.png" alt=""></a></div>
+ </div>
</div>
</div>
</body>
View
4 public/templates/blog.html
@@ -1,4 +1,6 @@
-{% extends 'base.html' %}{% block title %}Blog{% endblock %}{% block page_title %}Blog{% endblock %}
+{% extends 'base.html' %}
+{% block title %}Blog{% endblock %}
+{% block page_title %}Blog{% endblock %}
{% block content %}<div id="blog">
{% if posts %}{% for post in posts.object_list %}<ul class="posts">
<li class="blog-post">
View
6 public/templates/contacts.html
@@ -1,5 +1,7 @@
-{% extends 'base.html' %}{% block title %}Contacts{% endblock %}
-{% block page_title %}Contacts{% endblock %}{% block content %}<div id="contacts">
+{% extends 'base.html' %}
+{% block title %}Contacts{% endblock %}
+{% block page_title %}Contacts{% endblock %}
+{% block content %}<div id="contacts">
<div class="contact jabber">
<span>Jabber</span>
<div class="desc">{{ contacts.jabber }}</div>
View
12 public/templates/home.html
@@ -1,10 +1,12 @@
-{% extends 'base.html' %}{% block title %}Home{% endblock %}{% block content %}<div id="home">
+{% extends 'base.html' %}
+{% block title %}Home{% endblock %}
+{% block content %}<div id="home">
<div id="home-links">
<ul>
- <li class="about"><a href="/about/">{{ _('about me') }}</a></li>
- <li class="portfolio"><a href="/portfolio/">{{ _('portfolio') }}</a></li>
- <li class="services"><a href="/services/">{{ _('services') }}</a></li>
- <li class="contact"><a href="/contacts/">{{ _('contacts') }}</a></li>
+ <li class="about"><a href="/about/">About me</a></li>
+ <li class="portfolio"><a href="/portfolio/">Portfolio</a></li>
+ <li class="skills"><a href="/skills/">Skills</a></li>
+ <li class="contact"><a href="/contacts/">Contacts</a></li>
</ul>
</div>
</div>{% endblock %}
View
8 public/templates/portfolio.html
@@ -1,13 +1,15 @@
-{% extends 'base.html' %}{% block title %}Portfolio{% endblock %}
-{% block page_title %}Portfolio{% endblock %}{% block content %}<div id="portfolio">
+{% extends 'base.html' %}
+{% block title %}Portfolio{% endblock %}
+{% block page_title %}Portfolio{% endblock %}
+{% block content %}<div id="portfolio">
{% if works %}{% for work in works %}<ul>
<li class="portfolio-item">
<div class="left-col">
<h1>{{ work.title }}</h1>
<h2>{{ work.description }}</h2>
<a class="more" target="_blank" href="{{ work.link }}">Link</a>
<div class="type">
- <b>{{ _('type work')|capfirst }}:</b> {{ work.type }}
+ <b>Type work:</b> {{ work.type }}
</div>
</div>
<div class="right-col">
View
6 public/templates/post.html
@@ -1,4 +1,6 @@
-{% extends 'base.html' %}{% block title %}Blog - {{ post.title|capfirst }}{% endblock %}
-{% block page_title %}{{ post.title|capfirst }}{% endblock %}{% block content %}<div id="post">
+{% extends 'base.html' %}
+{% block title %}Blog - {{ post.title|capfirst }}{% endblock %}
+{% block page_title %}{{ post.title|capfirst }}{% endblock %}
+{% block content %}<div id="post">
{{ post.text|safe|linebreaksbr }}
</div>{% endblock %}
View
11 public/templates/services.html
@@ -1,11 +0,0 @@
-{% extends 'base.html' %}{% block title %}Services{% endblock %}
-{% block page_title %}Services{% endblock %}{% block content %}<div id="services">
- <div class="services-items">
- <ul>{% if services %}{% for service in services %}
- <li class="service-item">
- <div class="service-item-image"><img src="{{ MEDIA_URL }}{{ service.image }}" height="100" alt=""/></div>
- <div class="service-item-desc">{{ service.description }}</div>
- </li>{% endfor %}{% else %}{{ _('Not append services :(')|capfirst }}{% endif %}
- </ul>
- </div>
- </div>{% endblock %}
View
13 public/templates/skills.html
@@ -0,0 +1,13 @@
+{% extends 'base.html' %}
+{% block title %}Skills{% endblock %}
+{% block page_title %}Skills{% endblock %}
+{% block content %}<div id="skills">
+ <div class="skills-items">
+ <ul>{% if skills %}{% for skill in skills %}
+ <li class="skill">
+ <div class="skill-item-image"><img src="{{ MEDIA_URL }}{{ skill.image }}" height="100" alt=""/></div>
+ <div class="skill-item-desc">{{ skill.description }}</div>
+ </li>{% endfor %}{% else %}Not append skills :({% endif %}
+ </ul>
+ </div>
+ </div>{% endblock %}
View
6 urls.py
@@ -20,9 +20,9 @@
context_object_name="portfolio",
template_name="portfolio.html")),
- url(r'^services/', ListView.as_view(queryset=Services.objects.all(),
- context_object_name="services",
- template_name="services.html")),
+ url(r'^skills/', ListView.as_view(queryset=Services.objects.all(),
+ context_object_name="skills",
+ template_name="skills.html")),
url(r'^contacts/', ListView.as_view(queryset=Settings.objects.all()[0],
context_object_name="contacts",

0 comments on commit 1f2d147

Please sign in to comment.