Finished version. In beta state.

This commit is contained in:
Andros Fenollosa 2014-04-14 19:21:32 +02:00
commit 9d35718ba1
17 changed files with 2655 additions and 0 deletions

9
css/fonts.css Normal file
View File

@ -0,0 +1,9 @@
/** Generated by FG **/
@font-face {
font-family: 'Bellerose';
src: url('../fonts/Bellerose.eot');
src: local('☺'), url('../fonts/Bellerose.woff') format('woff'), url('../fonts/Bellerose.ttf') format('truetype'), url('../fonts/Bellerose.svg') format('svg');
font-weight: normal;
font-style: normal;
}

431
css/main.css Normal file
View File

@ -0,0 +1,431 @@
/*! HTML5 Boilerplate v4.3.0 | MIT License | http://h5bp.com/ */
html,
button,
input,
select,
textarea {
color: #222;
}
html {
font-size: 1em;
line-height: 1.4;
}
::-moz-selection {
background: #b3d4fc;
text-shadow: none;
}
::selection {
background: #b3d4fc;
text-shadow: none;
}
hr {
display: block;
height: 1px;
border: 0;
border-top: 1px solid #ccc;
margin: 1em 0;
padding: 0;
}
audio,
canvas,
img,
video {
vertical-align: middle;
}
fieldset {
border: 0;
margin: 0;
padding: 0;
}
textarea {
resize: vertical;
}
.browsehappy {
margin: 0.2em 0;
background: #ccc;
color: #000;
padding: 0.2em 0;
}
/* ==========================================================================
Author's custom styles
========================================================================== */
/*
rojo: #C92027
naranja: #E37818
amarillo: #E3BE32
verde: #058C73
morado: #5E5D7D
*/
* {
margin: 0;
padding: 0;
-webkit-tap-highlight-color: rgba(0,0,0,0);
-webkit-tap-highlight-color: transparent;
}
#content {
position: relative;
width: 100%;
height: 100%;
background-color: #5FA689;
margin: 0 auto;
overflow: hidden;
font-family: "Bellerose";
}
#titulo {
position: absolute;
color: #E37818;
margin: 0 auto;
left: 0;
right: 0;
top: 20px;
text-align: center;
font-size: 5em;
z-index: 4;
width: 230px;
height: 100px;
font-weight: bolder;
}
#botonEmpezar {
position: absolute;
text-align: center;
top: 150px;
margin: 0 auto;
left: 0;
right: 0;
width: 120px;
height: 70px;
padding-top: 10px;
font-size: 2em;
background-color: #C92027;
color: white;
cursor: pointer;
z-index: 5;
}
#botonEmpezar:hover {
background-color: #058C73;
}
#botonNewGame {
visibility: hidden;
}
#cartelNivel {
position: absolute;
width: 400px;
height: 180px;
margin-top: -90px;
margin-left: -200px;
top: 50%;
left: 50%;
text-align: center;
font-size: 4em;
z-index: 4;
color: #E37818;
font-weight: bolder;
}
#cuadro {
position: absolute;
width: 20%;
height: 0px;
background-color: #FFDC90;
bottom: 0;
left: -25%;
z-index: 5;
}
#tutorial {
position: absolute;
width: 400px;
height: auto;
margin-top: 15%;
right: 15%;
font-size: 2em;
visibility: hidden;
z-index: 9;
}
#pulsarTutorial {
float: right;
margin-top: 50%;
}
.pulsar {
width: 150px;
height: 150px;
line-height: 150px;
margin: 0 auto;
top: -100px;
position: absolute;
box-sizing: border-box;
text-align: center;
z-index: 0;
text-transform: uppercase;
}
.pulsar:before,
.pulsar:after {
opacity: 0;
box-sizing: border-box;
content: "\0020";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border-radius: 100px;
border: 5px solid #fff;
box-shadow: 0 0 50px #fff, inset 0 0 50px #fff;
}
.pulsar:after {
z-index: 1;
animation: aniPulsar 2s infinite 1s;
-webkit-animation: aniPulsar 2s infinite 1s;
}
.pulsar:before {
z-index: 2;
animation: aniPulsar 2s infinite 1s;
-webkit-animation: aniPulsar 2s infinite;
}
@keyframes aniPulsar {
0% {
-webkit-transform: scale(0);
opacity: 0;
}
50% {
opacity: 1;
}
100% {
-webkit-transform: scale(1);
opacity: 0;
}
}
@-webkit-keyframes aniPulsar {
0% {
-webkit-transform: scale(0);
opacity: 0;
}
50% {
opacity: 1;
}
100% {
-webkit-transform: scale(1);
opacity: 0;
}
}
#nivel {
position: absolute;
width: 150px;
height: 50px;
bottom: 0;
left: 0;
padding: 50px;
font-size: 3em;
color: white;
}
#toques {
position: absolute;
width: 220px;
height: 50px;
bottom: 100px;
right: 20px;
font-size: 3em;
color: white;
z-index: 1;
}
#tiempo {
position: absolute;
width: 220px;
height: 50px;
bottom: 35px;
right: 20px;
font-size: 3em;
color: white;
z-index: 1;
}
.huecoBarras {
float: left;
width: 20%;
height: 500px;
position: relative;
}
.barras {
position: absolute;
width: 100%;
height: 0px;
cursor: pointer;
z-index: 8;
}
#barra1 {
background-color: #C92027;
}
#barra2 {
background-color: #E37818;
}
#barra3 {
background-color: #E3BE32;
}
#barra4 {
background-color: #058C73;
}
#barra5 {
background-color: #5E5D7D;
}
/* ==========================================================================
Media Queries
========================================================================== */
@media only screen and (min-width: 35em) {
}
@media print,
(-o-min-device-pixel-ratio: 5/4),
(-webkit-min-device-pixel-ratio: 1.25),
(min-resolution: 120dpi) {
}
/* ==========================================================================
Helper classes
========================================================================== */
.ir {
background-color: transparent;
border: 0;
overflow: hidden;
*text-indent: -9999px;
}
.ir:before {
content: "";
display: block;
width: 0;
height: 150%;
}
.hidden {
display: none !important;
visibility: hidden;
}
.visuallyhidden {
border: 0;
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
width: 1px;
}
.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
clip: auto;
height: auto;
margin: 0;
overflow: visible;
position: static;
width: auto;
}
.invisible {
visibility: hidden;
}
.clearfix:before,
.clearfix:after {
content: " ";
display: table;
}
.clearfix:after {
clear: both;
}
.clearfix {
*zoom: 1;
}
/* ==========================================================================
Print styles
========================================================================== */
@media print {
* {
background: transparent !important;
color: #000 !important;
box-shadow: none !important;
text-shadow: none !important;
}
a,
a:visited {
text-decoration: underline;
}
a[href]:after {
content: " (" attr(href) ")";
}
abbr[title]:after {
content: " (" attr(title) ")";
}
.ir a:after,
a[href^="javascript:"]:after,
a[href^="#"]:after {
content: "";
}
pre,
blockquote {
border: 1px solid #999;
page-break-inside: avoid;
}
thead {
display: table-header-group;
}
tr,
img {
page-break-inside: avoid;
}
img {
max-width: 100% !important;
}
@page {
margin: 0.5cm;
}
p,
h2,
h3 {
orphans: 3;
widows: 3;
}
h2,
h3 {
page-break-after: avoid;
}
}

527
css/normalize.css vendored Normal file
View File

@ -0,0 +1,527 @@
/*! normalize.css v1.1.3 | MIT License | git.io/normalize */
/* ==========================================================================
HTML5 display definitions
========================================================================== */
/**
* Correct `block` display not defined in IE 6/7/8/9 and Firefox 3.
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
display: block;
}
/**
* Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
*/
audio,
canvas,
video {
display: inline-block;
*display: inline;
*zoom: 1;
}
/**
* Prevent modern browsers from displaying `audio` without controls.
* Remove excess height in iOS 5 devices.
*/
audio:not([controls]) {
display: none;
height: 0;
}
/**
* Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
* Known issue: no IE 6 support.
*/
[hidden] {
display: none;
}
/* ==========================================================================
Base
========================================================================== */
/**
* 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
* `em` units.
* 2. Prevent iOS text size adjust after orientation change, without disabling
* user zoom.
*/
html {
font-size: 100%; /* 1 */
-ms-text-size-adjust: 100%; /* 2 */
-webkit-text-size-adjust: 100%; /* 2 */
}
/**
* Address `font-family` inconsistency between `textarea` and other form
* elements.
*/
html,
button,
input,
select,
textarea {
font-family: sans-serif;
}
/**
* Address margins handled incorrectly in IE 6/7.
*/
body {
margin: 0;
}
/* ==========================================================================
Links
========================================================================== */
/**
* Address `outline` inconsistency between Chrome and other browsers.
*/
a:focus {
outline: thin dotted;
}
/**
* Improve readability when focused and also mouse hovered in all browsers.
*/
a:active,
a:hover {
outline: 0;
}
/* ==========================================================================
Typography
========================================================================== */
/**
* Address font sizes and margins set differently in IE 6/7.
* Address font sizes within `section` and `article` in Firefox 4+, Safari 5,
* and Chrome.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
h2 {
font-size: 1.5em;
margin: 0.83em 0;
}
h3 {
font-size: 1.17em;
margin: 1em 0;
}
h4 {
font-size: 1em;
margin: 1.33em 0;
}
h5 {
font-size: 0.83em;
margin: 1.67em 0;
}
h6 {
font-size: 0.67em;
margin: 2.33em 0;
}
/**
* Address styling not present in IE 7/8/9, Safari 5, and Chrome.
*/
abbr[title] {
border-bottom: 1px dotted;
}
/**
* Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome.
*/
b,
strong {
font-weight: bold;
}
blockquote {
margin: 1em 40px;
}
/**
* Address styling not present in Safari 5 and Chrome.
*/
dfn {
font-style: italic;
}
/**
* Address differences between Firefox and other browsers.
* Known issue: no IE 6/7 normalization.
*/
hr {
-moz-box-sizing: content-box;
box-sizing: content-box;
height: 0;
}
/**
* Address styling not present in IE 6/7/8/9.
*/
mark {
background: #ff0;
color: #000;
}
/**
* Address margins set differently in IE 6/7.
*/
p,
pre {
margin: 1em 0;
}
/**
* Correct font family set oddly in IE 6, Safari 4/5, and Chrome.
*/
code,
kbd,
pre,
samp {
font-family: monospace, serif;
_font-family: 'courier new', monospace;
font-size: 1em;
}
/**
* Improve readability of pre-formatted text in all browsers.
*/
pre {
white-space: pre;
white-space: pre-wrap;
word-wrap: break-word;
}
/**
* Address CSS quotes not supported in IE 6/7.
*/
q {
quotes: none;
}
/**
* Address `quotes` property not supported in Safari 4.
*/
q:before,
q:after {
content: '';
content: none;
}
/**
* Address inconsistent and variable font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` affecting `line-height` in all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sup {
top: -0.5em;
}
sub {
bottom: -0.25em;
}
/* ==========================================================================
Lists
========================================================================== */
/**
* Address margins set differently in IE 6/7.
*/
dl,
menu,
ol,
ul {
margin: 1em 0;
}
dd {
margin: 0 0 0 40px;
}
/**
* Address paddings set differently in IE 6/7.
*/
menu,
ol,
ul {
padding: 0 0 0 40px;
}
/**
* Correct list images handled incorrectly in IE 7.
*/
nav ul,
nav ol {
list-style: none;
list-style-image: none;
}
/* ==========================================================================
Embedded content
========================================================================== */
/**
* 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
* 2. Improve image quality when scaled in IE 7.
*/
img {
border: 0; /* 1 */
-ms-interpolation-mode: bicubic; /* 2 */
}
/**
* Correct overflow displayed oddly in IE 9.
*/
svg:not(:root) {
overflow: hidden;
}
/* ==========================================================================
Figures
========================================================================== */
/**
* Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11.
*/
figure {
margin: 0;
}
/* ==========================================================================
Forms
========================================================================== */
/**
* Correct margin displayed oddly in IE 6/7.
*/
form {
margin: 0;
}
/**
* Define consistent border, margin, and padding.
*/
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
/**
* 1. Correct color not being inherited in IE 6/7/8/9.
* 2. Correct text not wrapping in Firefox 3.
* 3. Correct alignment displayed oddly in IE 6/7.
*/
legend {
border: 0; /* 1 */
padding: 0;
white-space: normal; /* 2 */
*margin-left: -7px; /* 3 */
}
/**
* 1. Correct font size not being inherited in all browsers.
* 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
* and Chrome.
* 3. Improve appearance and consistency in all browsers.
*/
button,
input,
select,
textarea {
font-size: 100%; /* 1 */
margin: 0; /* 2 */
vertical-align: baseline; /* 3 */
*vertical-align: middle; /* 3 */
}
/**
* Address Firefox 3+ setting `line-height` on `input` using `!important` in
* the UA stylesheet.
*/
button,
input {
line-height: normal;
}
/**
* Address inconsistent `text-transform` inheritance for `button` and `select`.
* All other form control elements do not inherit `text-transform` values.
* Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
* Correct `select` style inheritance in Firefox 4+ and Opera.
*/
button,
select {
text-transform: none;
}
/**
* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
* and `video` controls.
* 2. Correct inability to style clickable `input` types in iOS.
* 3. Improve usability and consistency of cursor style between image-type
* `input` and others.
* 4. Remove inner spacing in IE 7 without affecting normal text inputs.
* Known issue: inner spacing remains in IE 6.
*/
button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
-webkit-appearance: button; /* 2 */
cursor: pointer; /* 3 */
*overflow: visible; /* 4 */
}
/**
* Re-set default cursor for disabled elements.
*/
button[disabled],
html input[disabled] {
cursor: default;
}
/**
* 1. Address box sizing set to content-box in IE 8/9.
* 2. Remove excess padding in IE 8/9.
* 3. Remove excess padding in IE 7.
* Known issue: excess padding remains in IE 6.
*/
input[type="checkbox"],
input[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
*height: 13px; /* 3 */
*width: 13px; /* 3 */
}
/**
* 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
* 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
* (include `-moz` to future-proof).
*/
input[type="search"] {
-webkit-appearance: textfield; /* 1 */
-moz-box-sizing: content-box;
-webkit-box-sizing: content-box; /* 2 */
box-sizing: content-box;
}
/**
* Remove inner padding and search cancel button in Safari 5 and Chrome
* on OS X.
*/
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* Remove inner padding and border in Firefox 3+.
*/
button::-moz-focus-inner,
input::-moz-focus-inner {
border: 0;
padding: 0;
}
/**
* 1. Remove default vertical scrollbar in IE 6/7/8/9.
* 2. Improve readability and alignment in all browsers.
*/
textarea {
overflow: auto; /* 1 */
vertical-align: top; /* 2 */
}
/* ==========================================================================
Tables
========================================================================== */
/**
* Remove most spacing between table cells.
*/
table {
border-collapse: collapse;
border-spacing: 0;
}

1
css/normalize.min.css vendored Normal file
View File

@ -0,0 +1 @@
/*! normalize.css v1.1.3 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-size:100%;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}html,button,input,select,textarea{font-family:sans-serif}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:.67em 0}h2{font-size:1.5em;margin:.83em 0}h3{font-size:1.17em;margin:1em 0}h4{font-size:1em;margin:1.33em 0}h5{font-size:.83em;margin:1.67em 0}h6{font-size:.67em;margin:2.33em 0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}blockquote{margin:1em 40px}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}p,pre{margin:1em 0}code,kbd,pre,samp{font-family:monospace,serif;_font-family:'courier new',monospace;font-size:1em}pre{white-space:pre;white-space:pre-wrap;word-wrap:break-word}q{quotes:none}q:before,q:after{content:'';content:none}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}dl,menu,ol,ul{margin:1em 0}dd{margin:0 0 0 40px}menu,ol,ul{padding:0 0 0 40px}nav ul,nav ol{list-style:none;list-style-image:none}img{border:0;-ms-interpolation-mode:bicubic}svg:not(:root){overflow:hidden}figure{margin:0}form{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0;white-space:normal;*margin-left:-7px}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;*overflow:visible}button[disabled],html input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0;*height:13px;*width:13px}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}

BIN
fonts/Bellerose.eot Normal file

Binary file not shown.

BIN
fonts/Bellerose.otf Normal file

Binary file not shown.

450
fonts/Bellerose.svg Normal file
View File

@ -0,0 +1,450 @@
<?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>
<metadata>
Created by FontForge 20090914 at Fri Apr 11 10:00:25 2014
By www-data
&#194;&#169;1992 by James M. Harris. All rights reserved. $15 shareware.
</metadata>
<defs>
<font id="BelleroseLight" horiz-adv-x="115" >
<font-face
font-family="Bellerose"
font-weight="400"
font-stretch="normal"
units-per-em="950"
panose-1="0 0 0 0 0 0 0 0 0 0"
ascent="760"
descent="-190"
x-height="409"
cap-height="680"
bbox="-193 -279 722.002 878"
underline-thickness="0"
underline-position="0"
unicode-range="U+0008-U+FB02"
/>
<missing-glyph horiz-adv-x="475"
d="M0 633h399v-633h-399v633zM19 614v-595h361v595h-361z" />
<glyph glyph-name=".notdef" horiz-adv-x="475"
d="M0 633h399v-633h-399v633zM19 614v-595h361v595h-361z" />
<glyph glyph-name="uni0000" horiz-adv-x="0"
/>
<glyph glyph-name="uni0000" horiz-adv-x="0"
/>
<glyph glyph-name="uni0000" horiz-adv-x="0"
/>
<glyph glyph-name="space" unicode="&#x9;" horiz-adv-x="380"
/>
<glyph glyph-name="space" unicode=" " horiz-adv-x="380"
/>
<glyph glyph-name="space" unicode="&#xd;" horiz-adv-x="380"
/>
<glyph glyph-name="exclam" unicode="!"
d="M30 56h56v-56h-56v56zM30 680h55v-567h-55v567z" />
<glyph glyph-name="dollar" unicode="$" horiz-adv-x="424"
d="M226 46c37.333 4 68 19.668 92 47.001s36 59.666 36 96.999c0 35.333 -10 65.5 -30 90.5s-45.667 41.5 -77 49.5l-21 5v-289zM198 45.001l0.000976562 298.002l-29 7c-38 10 -68.833 30.5 -92.5 61.5s-35.5 66.167 -35.5 105.5c0 44.667 15.167 83.5 45.5 116.5
s67.5 51.5 111.5 55.5v59h28v-58c28 -2 54.5 -11 79.5 -27s44.5 -35.667 58.5 -59l-48 -27c-19.333 34.667 -49.333 53.667 -90 57v-242l35 -9c43.333 -11.333 78.833 -35 106.5 -71s41.5 -76.667 41.5 -122c0 -51.333 -17.5 -96 -52.5 -134s-78.5 -59.667 -130.5 -65v-99
h-28v98c-44.667 3.33301 -83.834 19.166 -117.501 47.499s-55.5 63.5 -65.5 105.5l52 15c6.66699 -30.667 22 -56.334 46 -77.001s52.333 -32.667 85 -36zM198.001 399.003l-0.00195312 235c-29.333 -4 -53.666 -17.333 -72.999 -40s-29 -48.334 -29 -77.001
c0 -27.333 8.33301 -51.666 25 -72.999s37.334 -35 62.001 -41z" />
<glyph glyph-name="ampersand" unicode="&#x26;" horiz-adv-x="555"
d="M400 95l-185.999 298c-40.667 -16 -72.334 -39.833 -95.001 -71.5s-34 -65.5 -34 -101.5c0 -51.333 17.667 -93.833 53 -127.5s77 -50.5 125 -50.5s93.667 17.667 137 53zM430.001 49c-50 -41.333 -105.666 -62 -166.999 -62c-43.333 0 -82.5 10.5 -117.5 31.5
s-63 49 -84 84s-31.5 74.167 -31.5 117.5c0 48 13.833 92 41.5 132s65.5 69.333 113.5 88l-24 38c-12.667 19.333 -19 40.666 -19 63.999c0 32 11.667 60 35 84s51.666 36 84.999 36s61.666 -11.667 84.999 -35s35 -51.666 35 -84.999c0 -25.333 -6.66699 -47.833 -20 -67.5
s-31.666 -34.167 -54.999 -43.5l-41 -17l174 -278c19.333 24.667 34.333 49.667 45 75l34 -45c-12 -28.667 -28.333 -55 -49 -79l55 -87h-65zM237.002 462l50 20c26.667 12 40 32 40 60c0 17.333 -6 32.5 -18 45.5s-27.667 19.5 -47 19.5c-16.667 0 -31.667 -6 -45 -18
s-20 -27.667 -20 -47c0 -12.667 3.33301 -23.667 10 -33z" />
<glyph glyph-name="parenleft" unicode="(" horiz-adv-x="160"
d="M161 721c-60.667 -140.667 -91 -277.334 -91 -410.001c0 -55.333 8.33301 -114.833 25 -178.5s38 -117.167 64 -160.5l-33 -22c-16.667 24.667 -32.5 56.834 -47.5 96.501s-26.833 82.167 -35.5 127.5s-13 91 -13 137c0 66 9.16699 135.667 27.5 209s43.5 145 75.5 215z
" />
<glyph glyph-name="parenright" unicode=")" horiz-adv-x="152"
d="M1 721l28.001 13.999c31.333 -65.333 56.333 -134.833 75 -208.5s28 -145.5 28 -215.5c0 -68 -9.33301 -135.167 -28 -201.5s-41.334 -119.5 -68.001 -159.5l-33 22c16.667 27.333 31.5 59.833 44.5 97.5s23.667 77.667 32 120s12.5 82.833 12.5 121.5
c0 132.667 -30.333 269.334 -91 410.001z" />
<glyph glyph-name="comma" unicode=","
d="M85 -52l-31 52h-24v55h55v-107z" />
<glyph glyph-name="hyphen" unicode="-" horiz-adv-x="247"
d="M217 235v-55h-187v55h187z" />
<glyph glyph-name="period" unicode="."
d="M30 55h55v-55h-55v55z" />
<glyph glyph-name="slash" unicode="/" horiz-adv-x="382"
d="M382 694l-339 -707h-43l339 707h43z" />
<glyph glyph-name="zero" unicode="0" horiz-adv-x="737"
d="M368 694c64.667 0 124.002 -15.8301 178.002 -47.4971s96.833 -74.334 128.5 -128.001s47.5 -112.834 47.5 -177.501s-15.833 -124 -47.5 -178s-74.5 -96.833 -128.5 -128.5s-113.333 -47.5 -178 -47.5s-123.834 15.833 -177.501 47.5s-96.334 74.5 -128.001 128.5
s-47.5 113.333 -47.5 178c0 47.333 9 92.666 27 135.999s43.5 81.5 76.5 114.5s71 58.333 114 76s88.167 26.5 135.5 26.5zM368.002 639.003c-53.333 0 -103 -13.167 -149 -39.5s-82.333 -62.833 -109 -109.5s-40 -96.334 -40 -149.001c0 -54 13.333 -104 40 -150
s63 -82.333 109 -109s95.667 -40 149 -40c54 0 104 13.333 150 40s82.333 63 109 109s40 96 40 150c0 52.667 -13.333 102.334 -40 149.001s-63 83.167 -109 109.5s-96 39.5 -150 39.5z" />
<glyph glyph-name="one" unicode="1"
d="M30 0v680h55v-680h-55z" />
<glyph glyph-name="two" unicode="2" horiz-adv-x="374"
d="M125 55l220.001 -0.000976562v-55h-315l258 446c10.667 20 16 40 16 60c0 34.667 -12 63.167 -36 85.5s-51.667 33.5 -83 33.5c-24 0 -45 -5.83301 -63 -17.5s-32.333 -27.5 -43 -47.5l-48 26c16 30 37.167 53.167 63.5 69.5s56.5 24.5 90.5 24.5
c49.333 0 90.666 -16.667 123.999 -50s50 -74.666 50 -123.999c0 -30.667 -7.33301 -59 -22 -85z" />
<glyph glyph-name="three" unicode="3" horiz-adv-x="432"
d="M224 424c54.667 -6 100.499 -29.499 137.499 -70.499s55.5 -89.167 55.5 -144.5c0 -58.667 -21 -109.334 -63 -152.001s-93 -64 -153 -64c-37.333 0 -72.666 9.66699 -105.999 29s-60 45 -80 77l47 28c8.66699 -15.333 20 -29 34 -41s30.5 -21.333 49.5 -28
s37.5 -10 55.5 -10c44.667 0 82.667 15.667 114 47s47 69.333 47 114s-15.667 82.667 -47 114s-69.333 47 -114 47c-29.333 0 -56 -7 -80 -21l152 276h-229v55h321z" />
<glyph glyph-name="four" unicode="4" horiz-adv-x="470"
d="M300 517l-236 -311h236v311zM300 151h-260l-40 62l355 467v-474h100v-55h-100v-151h-55v151z" />
<glyph glyph-name="five" unicode="5" horiz-adv-x="431"
d="M15 90l42.999 33.002c32.667 -50 79 -75 139 -75c48 0 87.333 16.667 118 50s46 71.333 46 114c0 48 -16.333 87.333 -49 118s-71 46 -115 46c-53.333 0 -96 -20 -128 -60l-43 25v339h315v-55h-260v-227c35.333 22 74 33 116 33c60.667 0 112.334 -21.333 155.001 -64
s64 -94.334 64 -155.001s-21.667 -112.334 -65 -155.001s-94.666 -64 -153.999 -64c-37.333 0 -71.833 8.66699 -103.5 26s-57.834 41 -78.501 71z" />
<glyph glyph-name="six" unicode="6" horiz-adv-x="420"
d="M210 328c-25.333 0 -48.666 -6.33301 -69.999 -19s-38.333 -29.667 -51 -51s-19 -44.666 -19 -69.999s6.33301 -48.666 19 -69.999s29.667 -38.333 51 -51s44.666 -19 69.999 -19s48.666 6.33301 69.999 19s38.333 29.667 51 51s19 44.666 19 69.999
s-6.33301 48.666 -19 69.999s-29.667 38.333 -51 51s-44.666 19 -69.999 19zM255 680h63l-167 -306c18 6 37.667 9 59 9c28 0 53.833 -5 77.5 -15s44.167 -23.667 61.5 -41s31 -37.833 41 -61.5s15 -49.5 15 -77.5c0 -34 -8.66699 -66.333 -26 -97s-41.333 -54.667 -72 -72
s-63 -26 -97 -26s-66.333 8.66699 -97 26s-54.667 41.333 -72 72s-26 63 -26 97s8.33301 66 25 96z" />
<glyph glyph-name="seven" unicode="7" horiz-adv-x="366"
d="M113 0h-58l218 624h-243v55h321z" />
<glyph glyph-name="eight" unicode="8" horiz-adv-x="432"
d="M119 370c-48.667 34 -73.002 80.6689 -73.002 140.002c0 48 16.667 88.333 50 121s73.333 49 120 49c30.667 0 59.167 -7.5 85.5 -22.5s47 -35.667 62 -62s22.5 -54.833 22.5 -85.5c0 -59.333 -24.333 -106 -73 -140c32 -17.333 57.333 -41.5 76 -72.5
s28 -65.5 28 -103.5c0 -35.333 -9 -68.666 -27 -99.999s-42.667 -56 -74 -74s-64.666 -27 -99.999 -27s-68.666 9 -99.999 27s-56 42.667 -74 74s-27 64.666 -27 99.999c0 37.333 9.5 71.666 28.5 102.999s44.167 55.666 75.5 72.999zM215.998 625.002
c-23.333 0 -43.832 -5.66602 -61.499 -16.999s-31 -25.833 -40 -43.5s-13.5 -35.834 -13.5 -54.501c0 -35.333 12 -63.333 36 -84s50.333 -31 79 -31c35.333 0 63.333 12 84 36s31 50.333 31 79c0 23.333 -5.66699 43.833 -17 61.5s-25.833 31 -43.5 40
s-35.834 13.5 -54.501 13.5zM215.999 340.003c-42.667 0 -77.667 -14.499 -105 -43.499s-41 -63.167 -41 -102.5c0 -42.667 14.5 -77.667 43.5 -105s63.167 -41 102.5 -41c28.667 0 54.167 6.83301 76.5 20.5s39.5 31.667 51.5 54s18 46.166 18 71.499
c0 42.667 -14.5 77.667 -43.5 105s-63.167 41 -102.5 41z" />
<glyph glyph-name="nine" unicode="9" horiz-adv-x="420"
d="M210 345c25.333 0 48.666 6.33301 69.999 19s38.333 29.667 51 51s19 44.666 19 69.999s-6.33301 48.666 -19 69.999s-29.667 38.333 -51 51s-44.666 19 -69.999 19s-48.666 -6.33301 -69.999 -19s-38.333 -29.667 -51 -51s-19 -44.666 -19 -69.999
s6.33301 -48.666 19 -69.999s29.667 -38.333 51 -51s44.666 -19 69.999 -19zM168 0h-63l164 299c-18 -6 -37.667 -9 -59 -9c-34 0 -66.333 8.66699 -97 26s-54.667 41.333 -72 72s-26 63 -26 97s8.66699 66.333 26 97s41.333 54.667 72 72s63 26 97 26
c28 0 53.833 -5 77.5 -15s44.167 -23.667 61.5 -41s31 -37.833 41 -61.5s15 -49.5 15 -77.5c0 -34 -8.33301 -66 -25 -96z" />
<glyph glyph-name="colon" unicode=":"
d="M30 55h55v-55h-55v55zM30 409h55v-55h-55v55z" />
<glyph glyph-name="semicolon" unicode=";"
d="M85 -52l-31 52h-24v55h55v-107zM30 409h55v-55h-55v55z" />
<glyph glyph-name="question" unicode="?" horiz-adv-x="366"
d="M66 554l-51.002 21c14 31.333 35.667 56.666 65 75.999s61.333 29 96 29c48.667 0 90 -17 124 -51s51 -75.333 51 -124c0 -42.667 -14 -80.5 -42 -113.5s-62.667 -52.833 -104 -59.5v-219h-55v272h26c32.667 0 60.834 11.5 84.501 34.5s35.5 51.5 35.5 85.5
c0 32.667 -11.167 60.834 -33.5 84.501s-51.166 35.5 -86.499 35.5c-22.667 0 -44.167 -6.16699 -64.5 -18.5s-35.5 -29.833 -45.5 -52.5zM149.998 56h56v-56h-56v56z" />
<glyph glyph-name="A" unicode="A" horiz-adv-x="470"
d="M141 247h244.002v270c0 24 -5.83301 45.333 -17.5 64s-26.834 33 -45.501 43s-38.334 15 -59.001 15c-36 0 -65.333 -12.333 -88 -37s-34 -53 -34 -85v-270zM141.002 192l0.00195312 -192h-55v192h-71l33 55h38v270c0 31.333 8 60.666 24 87.999s37.667 49 65 65
s56.666 24 87.999 24s60.666 -8 87.999 -24s49 -37.667 65 -65s24 -56.666 24 -87.999v-517h-55v192h-244z" />
<glyph glyph-name="B" unicode="B" horiz-adv-x="492"
d="M358 435c35.333 -20 64.002 -47.832 86.002 -83.499s33 -75.5 33 -119.5c0 -42 -10.333 -80.833 -31 -116.5s-48.834 -63.834 -84.501 -84.501s-74.5 -31 -116.5 -31h-147v409h-83l33 56h50v215h181c37.333 0 69.166 -13.167 95.499 -39.5s39.5 -58.5 39.5 -96.5
c0 -46 -18.667 -82.333 -56 -109zM153.002 464.001h126c24 0 43.333 8.16699 58 24.5s22 34.833 22 55.5c0 24 -7.83301 43.5 -23.5 58.5s-34.5 22.5 -56.5 22.5h-126v-161zM153.002 409.001l-0.00195312 -353.999h92c50.667 0 92.834 17.667 126.501 53
s50.5 76.666 50.5 123.999c0 34 -8.16699 64.333 -24.5 91s-38.166 47.667 -65.499 63s-56.333 23 -87 23h-92z" />
<glyph glyph-name="C" unicode="C" horiz-adv-x="669"
d="M655 132c-32 -44 -73.1631 -79.165 -123.496 -105.498s-104.833 -39.5 -163.5 -39.5c-64.667 0 -123.834 15.833 -177.501 47.5s-96.334 74.5 -128.001 128.5s-47.5 113.333 -47.5 178c0 47.333 9 92.666 27 135.999s43.5 81.5 76.5 114.5s71 58.333 114 76
s88.167 26.5 135.5 26.5c58.667 0 113 -12.833 163 -38.5s91 -61.167 123 -106.5l-44 -31c-16.667 23.333 -38 44.5 -64 63.5s-53.833 33.333 -83.5 43s-61.167 14.5 -94.5 14.5c-53.333 0 -103 -13.167 -149 -39.5s-82.333 -62.833 -109 -109.5s-40 -96.334 -40 -149.001
c0 -54 13.333 -104 40 -150s63 -82.333 109 -109s95.667 -40 149 -40c49.333 0 95.166 11 137.499 33s77.166 51.667 104.499 89z" />
<glyph glyph-name="D" unicode="D" horiz-adv-x="535"
d="M180 55c52 0 99.835 12.665 143.502 37.998s78.167 60 103.5 104s38 91.667 38 143c0 38.667 -7.66699 75.834 -23 111.501s-35.333 65.834 -60 90.501s-54.834 44.667 -90.501 60s-72.834 23 -111.501 23h-28v-570h28zM48.002 679.998l131.997 -0.000976562
c48 0 92.5 -8.83301 133.5 -26.5s76.833 -41.834 107.5 -72.501s54.834 -66.5 72.501 -107.5s26.5 -85.5 26.5 -133.5c0 -61.333 -15.167 -118.166 -45.5 -170.499s-71.666 -93.666 -123.999 -123.999s-109.166 -45.5 -170.499 -45.5h-83v625h-82z" />
<glyph glyph-name="E" unicode="E" horiz-adv-x="440"
d="M153 55h257v-55h-312v409h-83l33 55h50v216h312v-55h-257v-161h163v-55h-163v-354z" />
<glyph glyph-name="F" unicode="F" horiz-adv-x="440"
d="M153 0h-55v409h-83l33 56h50v215h312v-55h-257v-160h163v-56h-163v-409z" />
<glyph glyph-name="G" unicode="G" horiz-adv-x="735"
d="M368 694c58.667 0 113 -12.8311 163 -38.498s91 -61.167 123 -106.5l-44 -31c-16.667 23.333 -38 44.5 -64 63.5s-53.833 33.333 -83.5 43s-61.167 14.5 -94.5 14.5c-53.333 0 -103 -13.167 -149 -39.5s-82.333 -62.833 -109 -109.5s-40 -96.334 -40 -149.001
c0 -54 13.333 -104 40 -150s63 -82.333 109 -109s95.667 -40 149 -40c67.333 0 127 19.5 179 58.5s87.667 89.167 107 150.5h-283l36 55h313c-5.33301 -59.333 -24.166 -113.333 -56.499 -162s-74.166 -87 -125.499 -115s-108 -42 -170 -42
c-64.667 0 -123.834 15.833 -177.501 47.5s-96.334 74.5 -128.001 128.5s-47.5 113.333 -47.5 178c0 47.333 9 92.666 27 135.999s43.5 81.5 76.5 114.5s71 58.333 114 76s88.167 26.5 135.5 26.5z" />
<glyph glyph-name="H" unicode="H" horiz-adv-x="478"
d="M448 0h-55v409h-240v-409h-55v409h-83l33 56h50v215h55v-215h240v215h55v-680z" />
<glyph glyph-name="I" unicode="I"
d="M30 0v680h55v-680h-55z" />
<glyph glyph-name="J" unicode="J" horiz-adv-x="338"
d="M54 90c23.333 -23.333 51.333 -35 84 -35c35.333 0 63.333 12 84 36s31 50.333 31 79v510h55v-510c0 -46.667 -16.333 -86.667 -49 -120s-73 -50 -121 -50c-48.667 -0 -89.667 17.333 -123 52z" />
<glyph glyph-name="K" unicode="K" horiz-adv-x="456"
d="M441 0h-62l-223 410l-71 -105v-305h-55v680h55v-275l185 275h66l-146 -218z" />
<glyph glyph-name="L" unicode="L" horiz-adv-x="302"
d="M272 0h-242v680h55v-625h187v-55z" />
<glyph glyph-name="M" unicode="M" horiz-adv-x="562"
d="M281 418l251 275v-693h-55v551l-196 -214l-196 214v-551h-55v693z" />
<glyph glyph-name="N" unicode="N" horiz-adv-x="397"
d="M85 484v-484h-55v693l282 -498v485h55v-693z" />
<glyph glyph-name="O" unicode="O" horiz-adv-x="737"
d="M368 694c64.667 0 124.002 -15.8301 178.002 -47.4971s96.833 -74.334 128.5 -128.001s47.5 -112.834 47.5 -177.501s-15.833 -124 -47.5 -178s-74.5 -96.833 -128.5 -128.5s-113.333 -47.5 -178 -47.5s-123.834 15.833 -177.501 47.5s-96.334 74.5 -128.001 128.5
s-47.5 113.333 -47.5 178c0 47.333 9 92.666 27 135.999s43.5 81.5 76.5 114.5s71 58.333 114 76s88.167 26.5 135.5 26.5zM368.002 639.003c-53.333 0 -103 -13.167 -149 -39.5s-82.333 -62.833 -109 -109.5s-40 -96.334 -40 -149.001c0 -54 13.333 -104 40 -150
s63 -82.333 109 -109s95.667 -40 149 -40c54 0 104 13.333 150 40s82.333 63 109 109s40 96 40 150c0 52.667 -13.333 102.334 -40 149.001s-63 83.167 -109 109.5s-96 39.5 -150 39.5z" />
<glyph glyph-name="P" unicode="P" horiz-adv-x="491"
d="M152 249h81c56 0 101.333 18.667 136 56s52 81.333 52 132c0 37.333 -9 70.333 -27 99s-41.333 50.667 -70 66s-59 23 -91 23h-81v-376zM233 680c43.333 0 83.8311 -10.833 121.498 -32.5s67.334 -51.334 89.001 -89.001s32.5 -78.167 32.5 -121.5
c0 -67.333 -23.667 -124.666 -71 -171.999s-104.666 -71 -171.999 -71h-81v-194h-55v625h-82l33 55h185z" />
<glyph glyph-name="Q" unicode="Q" horiz-adv-x="737"
d="M562 44c-58 -38 -122.668 -57.001 -194.001 -57.001c-47.333 0 -92.666 9.16699 -135.999 27.5s-81.333 43.833 -114 76.5s-58 70.834 -76 114.501s-27 88.834 -27 135.501c0 47.333 9 92.833 27 136.5s43.5 82 76.5 115s71 58.333 114 76s88.167 26.5 135.5 26.5
c64.667 0 124 -15.833 178 -47.5s96.833 -74.5 128.5 -128.5s47.5 -113.333 47.5 -178c0 -104.667 -38.667 -192.334 -116 -263.001l55 -74l-44 -33zM572.999 122.999c30 28 53.167 60.833 69.5 98.5s24.5 77.5 24.5 119.5c0 52.667 -13.333 102.334 -40 149.001
s-63 83.167 -109 109.5s-96 39.5 -150 39.5c-53.333 0 -103 -13.167 -149 -39.5s-82.333 -62.833 -109 -109.5s-40 -96.334 -40 -149.001c0 -54 13.333 -104 40 -150s63 -82.333 109 -109s95.667 -40 149 -40c59.333 0 113 15.667 161 47l-78 105l45 34z" />
<glyph glyph-name="R" unicode="R" horiz-adv-x="475"
d="M152 249h65c56 0 101.333 18.667 136 56s52 81.333 52 132c0 37.333 -9 70.333 -27 99s-41.333 50.667 -70 66s-59 23 -91 23h-65v-376zM217 680c43.333 0 83.832 -10.832 121.499 -32.499s67.334 -51.334 89.001 -89.001s32.5 -78.167 32.5 -121.5
c0 -36.667 -8.33301 -72 -25 -106s-39.667 -62.333 -69 -85s-61.333 -38 -96 -46l170 -200h-73l-164 194h-51v-194h-55v625h-82l33 55h169z" />
<glyph glyph-name="S" unicode="S" horiz-adv-x="425"
d="M68 158c8 -34 25.332 -61.335 51.999 -82.002s56.667 -31 90 -31c41.333 0 75.833 14.167 103.5 42.5s41.5 62.5 41.5 102.5c0 35.333 -10 65.5 -30 90.5s-45.667 41.5 -77 49.5l-78 20c-38 10 -68.833 30.5 -92.5 61.5s-35.5 66.167 -35.5 105.5
c0 48 16.833 88.833 50.5 122.5s74.5 50.5 122.5 50.5c30.667 0 59.5 -7.83301 86.5 -23.5s48.167 -36.5 63.5 -62.5l-48 -27c-22 38.667 -56 58 -102 58c-32.667 0 -60.5 -11.833 -83.5 -35.5s-34.5 -51.167 -34.5 -82.5c0 -27.333 8.33301 -51.666 25 -72.999
s37.334 -35 62.001 -41l78 -20c43.333 -11.333 78.833 -35 106.5 -71s41.5 -76.667 41.5 -122c0 -56 -19.667 -103.333 -59 -142s-86.333 -58 -141 -58c-46 0 -87 14.333 -123 43s-59.667 65.334 -71 110.001z" />
<glyph glyph-name="T" unicode="T" horiz-adv-x="355"
d="M205 625v-625h-55v625h-135v55h325v-55h-135z" />
<glyph glyph-name="U" unicode="U" horiz-adv-x="414"
d="M329 680h54.998v-503c0 -31.333 -8 -60.666 -24 -87.999s-37.667 -49 -65 -65s-56.666 -24 -87.999 -24s-60.666 8 -87.999 24s-49 37.667 -65 65s-24 56.666 -24 87.999v503h55v-503c0 -31.333 11.5 -59.5 34.5 -84.5s52.167 -37.5 87.5 -37.5c32 0 60.333 11.333 85 34
s37 52 37 88v503z" />
<glyph glyph-name="V" unicode="V" horiz-adv-x="492"
d="M246 151l188 529h58l-246 -693l-246 693h58z" />
<glyph glyph-name="W" unicode="W" horiz-adv-x="710"
d="M355 512l120 -354l177 522h58l-235 -693l-120 354l-120 -354l-235 693h58l177 -522z" />
<glyph glyph-name="X" unicode="X" horiz-adv-x="428"
d="M184 378l-135 302h60l105 -235l105 235h60l-135 -302l169 -378h-60l-139 311l-139 -311h-60z" />
<glyph glyph-name="Y" unicode="Y" horiz-adv-x="375"
d="M160 303l-160 377h60l128 -301l127 301h60l-160 -377v-303h-55v303z" />
<glyph glyph-name="Z" unicode="Z" horiz-adv-x="362"
d="M317 680l-224 -625h239v-55h-317l223 625h-214v55h293z" />
<glyph glyph-name="backslash" unicode="\" horiz-adv-x="382"
d="M0 694h43l339 -707h-43z" />
<glyph glyph-name="grave" unicode="`" horiz-adv-x="323"
d="M293 733l-13 -23l-250 110l30 56z" />
<glyph glyph-name="a" unicode="a" horiz-adv-x="477"
d="M387 55c-43.333 -44.667 -95.333 -67.001 -156 -67.001c-58.667 0 -109.334 21.333 -152.001 64s-64 93.334 -64 152.001c0 60 21.333 111 64 153s93.334 63 152.001 63c60.667 0 112.667 -22.333 156 -67l60 56v-409zM231 364.999c-45.333 0 -83.5 -15.5 -114.5 -46.5
s-46.5 -69.167 -46.5 -114.5s15.5 -83.5 46.5 -114.5s69.167 -46.5 114.5 -46.5c44.667 0 82.667 15.667 114 47s47 69.333 47 114s-15.667 82.667 -47 114s-69.333 47 -114 47z" />
<glyph glyph-name="b" unicode="b" horiz-adv-x="530"
d="M299 365c-44.667 0 -82.667 -15.667 -114 -47s-47 -69.333 -47 -114s15.667 -82.667 47 -114s69.333 -47 114 -47c45.333 0 83.5 15.5 114.5 46.5s46.5 69.167 46.5 114.5s-15.5 83.5 -46.5 114.5s-69.167 46.5 -114.5 46.5zM83 625l-68 0.000976562l30 55h93v-332
c43.333 48 97 72 161 72c60 0 111 -21 153 -63s63 -93 63 -153c0 -58.667 -21 -109.334 -63 -152.001s-93 -64 -153 -64c-60.667 0 -112.667 22.333 -156 67l-60 -55v625z" />
<glyph glyph-name="c" unicode="c" horiz-adv-x="412"
d="M397 342l-43 -34.002c-32.667 38 -73.667 57 -123 57c-45.333 0 -83.5 -15.5 -114.5 -46.5s-46.5 -69.167 -46.5 -114.5s15.5 -83.5 46.5 -114.5s69.167 -46.5 114.5 -46.5c48.667 0 88.667 18 120 54l44 -34c-20.667 -24 -45 -42.5 -73 -55.5s-58.333 -19.5 -91 -19.5
c-58.667 0 -109.334 21.333 -152.001 64s-64 93.334 -64 152.001c0 60 21.333 111 64 153s93.334 63 152.001 63c34 0 65 -6.66699 93 -20s52.333 -32.666 73 -57.999z" />
<glyph glyph-name="d" unicode="d" horiz-adv-x="477"
d="M231 420c64 0 117.667 -24.001 161 -72.001v332h55v-680l-60 55c-43.333 -44.667 -95.333 -67 -156 -67c-58.667 0 -109.334 21.333 -152.001 64s-64 93.334 -64 152.001c0 60 21.333 111 64 153s93.334 63 152.001 63zM231 364.999c-45.333 0 -83.5 -15.5 -114.5 -46.5
s-46.5 -69.167 -46.5 -114.5s15.5 -83.5 46.5 -114.5s69.167 -46.5 114.5 -46.5c44.667 0 82.667 15.667 114 47s47 69.333 47 114s-15.667 82.667 -47 114s-69.333 47 -114 47z" />
<glyph glyph-name="e" unicode="e" horiz-adv-x="437"
d="M373 129l48 -27c-18 -34 -44 -61.5 -78 -82.5s-71.333 -31.5 -112 -31.5c-58.667 0 -109.334 21.333 -152.001 64s-64 93.334 -64 152.001c0 60 21.333 111 64 153s93.334 63 152.001 63c37.333 0 72.5 -9.33301 105.5 -28s58.5 -42.334 76.5 -71.001l-279 -246
c28 -21.333 60.333 -32 97 -32c30.667 0 58.5 7.66699 83.5 23s44.5 36.333 58.5 63zM97 114l239 212c-30 26 -65 39 -105 39c-45.333 0 -83.5 -15.5 -114.5 -46.5s-46.5 -69.167 -46.5 -114.5c0 -32.667 9 -62.667 27 -90z" />
<glyph glyph-name="f" unicode="f" horiz-adv-x="249"
d="M90 353h-75v55h75v123c0 27.333 6.66699 52.333 20 75s31.333 40.667 54 54s47.667 20 75 20c32 0 61.333 -9.66699 88 -29l-37 -41c-14.667 10 -31.667 15 -51 15c-26 0 -48.167 -9.16699 -66.5 -27.5s-27.5 -40.5 -27.5 -66.5v-123h74v-55h-74v-353h-55v353z" />
<glyph glyph-name="g" unicode="g" horiz-adv-x="477"
d="M94 -153c32 -43.333 76.334 -65.001 133.001 -65.001c45.333 0 84.166 15.5 116.499 46.5s48.5 70.5 48.5 118.5v113c-43.333 -48 -97 -72 -161 -72c-58.667 0 -109.334 21.333 -152.001 64s-64 93.334 -64 152.001c0 60 21.333 111 64 153s93.334 63 152.001 63
c60.667 0 112.667 -22.333 156 -67l60 56v-462c0 -61.333 -21.667 -113.333 -65 -156s-95 -64 -155 -64c-72 0 -130.333 28.667 -175 86zM231.001 364.999c-45.333 0 -83.5 -15.5 -114.5 -46.5s-46.5 -69.167 -46.5 -114.5s15.5 -83.5 46.5 -114.5s69.167 -46.5 114.5 -46.5
c44.667 0 82.667 15.667 114 47s47 69.333 47 114s-15.667 82.667 -47 114s-69.333 47 -114 47z" />
<glyph glyph-name="h" unicode="h" horiz-adv-x="386"
d="M301 257c0 31.333 -10.5 57.167 -31.5 77.5s-46.5 30.5 -76.5 30.5s-55.5 -10.5 -76.5 -31.5s-31.5 -46.5 -31.5 -76.5v-257h-55v680h55v-301c30.667 27.333 66.667 41 108 41c46 0 84.667 -15.667 116 -47s47 -70 47 -116v-257h-55v257z" />
<glyph glyph-name="i" unicode="i"
d="M30 409h55v-409h-55v409zM30 569h55v-60h-55v60z" />
<glyph glyph-name="j" unicode="j"
d="M-151 -191c20 -22 45.667 -33 77 -33c28 0 52.333 9.66699 73 29s31 44.333 31 75v529h55v-529c0 -44 -15.5 -81.5 -46.5 -112.5s-68.5 -46.5 -112.5 -46.5c-48 0 -87.667 17.667 -119 53zM30 569h55v-55h-55v55z" />
<glyph glyph-name="k" unicode="k" horiz-adv-x="310"
d="M295 0h-67l-143 205v-205h-55v680h55v-461l117 190h65l-121 -196z" />
<glyph glyph-name="l" unicode="l"
d="M30 0v680h55v-680h-55z" />
<glyph glyph-name="m" unicode="m" horiz-adv-x="641"
d="M611 0l-55.001 0.00195312v261c0 31.333 -10.333 56.5 -31 75.5s-45 28.5 -73 28.5c-27.333 0 -51.5 -9.5 -72.5 -28.5s-31.5 -44.167 -31.5 -75.5v-261h-55v261c0 31.333 -10.333 56.5 -31 75.5s-45 28.5 -73 28.5c-27.333 0 -51.5 -9.5 -72.5 -28.5
s-31.5 -44.167 -31.5 -75.5v-261h-55v409l46 -36c31.333 31.333 69 47 113 47c26.667 0 52 -6.33301 76 -19s42.667 -29.334 56 -50.001c32 46 75.667 69 131 69c23.333 0 44.5 -4.33301 63.5 -13s35.333 -19.834 49 -33.501s24.834 -30 33.501 -49s13 -40.167 13 -63.5
v-261z" />
<glyph glyph-name="n" unicode="n" horiz-adv-x="386"
d="M30 0v409.001l47 -38c31.333 32.667 70 49 116 49s84.667 -15.667 116 -47s47 -70 47 -116v-257h-55v257c0 31.333 -10.5 57.166 -31.5 77.499s-46.5 30.5 -76.5 30.5s-55.5 -10.5 -76.5 -31.5s-31.5 -46.5 -31.5 -76.5v-257h-55z" />
<glyph glyph-name="o" unicode="o" horiz-adv-x="462"
d="M231 420c60 0 111 -21 153 -63s63 -93 63 -153c0 -58.667 -21 -109.334 -63 -152.001s-93 -64 -153 -64c-58.667 0 -109.334 21.333 -152.001 64s-64 93.334 -64 152.001c0 60 21.333 111 64 153s93.334 63 152.001 63zM231 365c-45.333 0 -83.5 -15.5 -114.5 -46.5
s-46.5 -69.167 -46.5 -114.5s15.5 -83.5 46.5 -114.5s69.167 -46.5 114.5 -46.5c44.667 0 82.667 15.667 114 47s47 69.333 47 114s-15.667 82.667 -47 114s-69.333 47 -114 47z" />
<glyph glyph-name="p" unicode="p" horiz-adv-x="477"
d="M246 -12c-64 0 -117.667 24.001 -161 72.001v-332h-55v681l60 -56c43.333 44.667 95.333 67 156 67c60 0 111 -21 153 -63s63 -93 63 -153c0 -58.667 -21 -109.334 -63 -152.001s-93 -64 -153 -64zM246 43.001c45.333 0 83.5 15.5 114.5 46.5s46.5 69.167 46.5 114.5
s-15.5 83.5 -46.5 114.5s-69.167 46.5 -114.5 46.5c-44.667 0 -82.667 -15.667 -114 -47s-47 -69.333 -47 -114s15.667 -82.667 47 -114s69.333 -47 114 -47z" />
<glyph glyph-name="q" unicode="q" horiz-adv-x="477"
d="M231 43c44.667 0 82.667 15.667 114 47s47 69.333 47 114s-15.667 82.667 -47 114s-69.333 47 -114 47c-45.333 0 -83.5 -15.5 -114.5 -46.5s-46.5 -69.167 -46.5 -114.5s15.5 -83.5 46.5 -114.5s69.167 -46.5 114.5 -46.5zM447 -217l68 -0.000976562l-30 -55h-93v332
c-43.333 -48 -97 -72 -161 -72c-58.667 0 -109.334 21.333 -152.001 64s-64 93.334 -64 152.001c0 60 21.333 111 64 153s93.334 63 152.001 63c60.667 0 112.667 -22.333 156 -67l60 56v-626z" />
<glyph glyph-name="r" unicode="r" horiz-adv-x="259"
d="M244 410l-24.999 -48.999c-8 2.66699 -17.667 4 -29 4c-30.667 0 -55.834 -10.333 -75.501 -31s-29.5 -45.334 -29.5 -74.001v-260h-55v409l46 -37c30.667 32 68.667 48 114 48c20 0 38 -3.33301 54 -10z" />
<glyph glyph-name="s" unicode="s" horiz-adv-x="272"
d="M63 87c13.333 -26.667 35.334 -40 66.001 -40c20.667 0 38 7 52 21s21 31.333 21 52c0 16.667 -4.83301 31.5 -14.5 44.5s-21.834 21.5 -36.501 25.5l-48 14c-24 7.33301 -43.333 20.5 -58 39.5s-22 40.5 -22 64.5c0 30 10.5 55.5 31.5 76.5s46.5 31.5 76.5 31.5
c21.333 0 41.166 -6 59.499 -18s31.5 -28 39.5 -48l-50 -21c-8 21.333 -24.333 32 -49 32c-15.333 0 -28 -5.33301 -38 -16s-15 -23 -15 -37c0 -26.667 13 -43.667 39 -51l48 -14c27.333 -7.33301 49.5 -22.333 66.5 -45s25.5 -48.667 25.5 -78
c0 -24 -5.66699 -45.667 -17 -65s-26.666 -34.666 -45.999 -45.999s-41 -17 -65 -17s-46 6.16699 -66 18.5s-36 29.166 -48 50.499z" />
<glyph glyph-name="t" unicode="t" horiz-adv-x="232"
d="M89 354h-74v55h74v115l55 27v-142h73v-55h-73v-354h-55v354z" />
<glyph glyph-name="u" unicode="u" horiz-adv-x="386"
d="M356 409v-409.001l-47 38c-31.333 -32.667 -70 -49 -116 -49s-84.667 15.667 -116 47s-47 70 -47 116v257h55v-257c0 -30 10.833 -55.5 32.5 -76.5s46.834 -31.5 75.501 -31.5c31.333 0 57.166 10.833 77.499 32.5s30.5 46.834 30.5 75.501v257h55z" />
<glyph glyph-name="v" unicode="v" horiz-adv-x="360"
d="M300 409h60l-180 -422l-180 422h60l120 -280z" />
<glyph glyph-name="w" unicode="w" horiz-adv-x="520"
d="M260 221l-90 -234l-170 422h59l110 -272l91 237l91 -237l110 272h59l-170 -422z" />
<glyph glyph-name="x" unicode="x" horiz-adv-x="332"
d="M198 236l134 -236h-63l-103 181l-103 -181h-63l135 236l-99 173h63l67 -118l67 118h63z" />
<glyph glyph-name="y" unicode="y" horiz-adv-x="386"
d="M54 -190l43 31.999c21.333 -32 52.333 -48 93 -48c33.333 0 60.166 11 80.499 33s30.5 48 30.5 78v125c-30.667 -27.333 -66.667 -41 -108 -41c-46 0 -84.667 15.667 -116 47s-47 70 -47 116v257h55v-257c0 -30 10.833 -55.5 32.5 -76.5s46.834 -31.5 75.501 -31.5
c31.333 0 57.166 10.833 77.499 32.5s30.5 46.834 30.5 75.501v257h55v-504c0 -46 -16.167 -85.167 -48.5 -117.5s-71.5 -48.5 -117.5 -48.5c-57.333 0 -102.666 23.667 -135.999 71z" />
<glyph glyph-name="z" unicode="z" horiz-adv-x="313"
d="M103 55h180v-55h-268l175 354h-172v55h260z" />
<glyph glyph-name="asciitilde" unicode="~" horiz-adv-x="338"
d="M308 795c-20.667 -20 -50.667 -30 -90 -30c-10 0 -26.667 6 -50 18s-40 18 -50 18c-36 0 -65.333 -10.667 -88 -32v43c22.667 21.333 52 32 88 32c10 0 26.667 -6 50 -18s40 -18 50 -18c39.333 0 69.333 10 90 30v-43z" />
<glyph glyph-name="exclamdown" unicode="&#xa1;"
d="M30 624v56h56v-56h-56zM30 0v567h55v-567h-55z" />
<glyph glyph-name="sterling" unicode="&#xa3;" horiz-adv-x="384"
d="M133 276l-102.999 0.00195312v55h74l-21.5 41c-9.66699 18 -18.167 32.667 -25.5 44c-14.667 25.333 -22 53 -22 83c0 31.333 7.5 59.666 22.5 84.999s35.167 45.5 60.5 60.5s53.666 22.5 84.999 22.5c46 0 86.333 -16.667 121 -50l-39 -39c-22.667 22.667 -50 34 -82 34
c-34 0 -61.333 -11.333 -82 -34s-31 -49 -31 -79c0 -22 4.66699 -40.667 14 -56l61 -112h140v-55h-112c35.333 -72 53 -120 53 -144c0 -26 -12 -51.667 -36 -77v0h144v-55h-324v55h51c35.333 0 62.5 8.83301 81.5 26.5s28.5 34.5 28.5 50.5
c0 11.333 -9.66699 39.666 -29 84.999c-6 14 -15.667 33.667 -29 59z" />
<glyph glyph-name="dieresis" unicode="&#xa8;" horiz-adv-x="267"
d="M30 812h64v-64h-64v64zM173 812h64v-64h-64v64z" />
<glyph glyph-name="degree" unicode="&#xb0;" horiz-adv-x="176"
d="M88 680c10.667 0 20.1689 -1.66895 28.502 -5.00195s16.166 -8.66602 23.499 -15.999s12.666 -15.166 15.999 -23.499s5 -17.833 5 -28.5c0 -20 -7.16699 -37.167 -21.5 -51.5s-31.5 -21.5 -51.5 -21.5c-19.333 0 -36.333 7.33301 -51 22s-22 31.667 -22 51
c0 20 7.16699 37.167 21.5 51.5s31.5 21.5 51.5 21.5zM88.002 650.998c-12 0 -22.333 -4.33301 -31 -13s-13 -19 -13 -31s4.33301 -22.333 13 -31s19 -13 31 -13s22.333 4.33301 31 13s13 19 13 31s-4.33301 22.333 -13 31s-19 13 -31 13z" />
<glyph glyph-name="acute" unicode="&#xb4;" horiz-adv-x="323"
d="M30 733l233 143l30 -56l-250 -110z" />
<glyph glyph-name="questiondown" unicode="&#xbf;" horiz-adv-x="366"
d="M300 126l51.002 -21.002c-8.66699 -20 -21 -38 -37 -54s-34.833 -28.5 -56.5 -37.5s-44.167 -13.5 -67.5 -13.5c-47.333 0 -88.333 17.333 -123 52s-52 75.667 -52 123c0 42.667 13.667 80.334 41 113.001s62.333 52.667 105 60v219h55v-272h-26
c-32 0 -60 -11.167 -84 -33.5s-36 -51.166 -36 -86.499c0 -32 11.5 -60 34.5 -84s51.5 -36 85.5 -36c23.333 0 45.166 6.33301 65.499 19s35.166 30 44.499 52zM216.002 623.998h-56v56h56v-56z" />
<glyph glyph-name="Agrave" unicode="&#xc0;" horiz-adv-x="470"
d="M141 247h244.002v270c0 24 -5.83301 45.333 -17.5 64s-26.834 33 -45.501 43s-38.334 15 -59.001 15c-36 0 -65.333 -12.333 -88 -37s-34 -53 -34 -85v-270zM141.002 192l0.00195312 -192h-55v192h-71l33 55h38v270c0 31.333 8 60.666 24 87.999s37.667 49 65 65
s56.666 24 87.999 24s60.666 -8 87.999 -24s49 -37.667 65 -65s24 -56.666 24 -87.999v-517h-55v192h-244zM408.004 733l-13 -23l-250 110l30 56z" />
<glyph glyph-name="Aacute" unicode="&#xc1;" horiz-adv-x="470"
d="M141 247h244.002v270c0 24 -5.83301 45.333 -17.5 64s-26.834 33 -45.501 43s-38.334 15 -59.001 15c-36 0 -65.333 -12.333 -88 -37s-34 -53 -34 -85v-270zM141.002 192l0.00195312 -192h-55v192h-71l33 55h38v270c0 31.333 8 60.666 24 87.999s37.667 49 65 65
s56.666 24 87.999 24s60.666 -8 87.999 -24s49 -37.667 65 -65s24 -56.666 24 -87.999v-517h-55v192h-244zM118.004 733l233 143l30 -56l-250 -110z" />
<glyph glyph-name="Acircumflex" unicode="&#xc2;" horiz-adv-x="470"
d="M141 247h244.002v270c0 24 -5.83301 45.333 -17.5 64s-26.834 33 -45.501 43s-38.334 15 -59.001 15c-36 0 -65.333 -12.333 -88 -37s-34 -53 -34 -85v-270zM141.002 192l0.00195312 -192h-55v192h-71l33 55h38v270c0 31.333 8 60.666 24 87.999s37.667 49 65 65
s56.666 24 87.999 24s60.666 -8 87.999 -24s49 -37.667 65 -65s24 -56.666 24 -87.999v-517h-55v192h-244zM401.004 730l-138 71l-140 -71v51l140 71l138 -71v-51z" />
<glyph glyph-name="Atilde" unicode="&#xc3;" horiz-adv-x="470"
d="M141 247h244.002v270c0 24 -5.83301 45.333 -17.5 64s-26.834 33 -45.501 43s-38.334 15 -59.001 15c-36 0 -65.333 -12.333 -88 -37s-34 -53 -34 -85v-270zM141.002 192l0.00195312 -192h-55v192h-71l33 55h38v270c0 31.333 8 60.666 24 87.999s37.667 49 65 65
s56.666 24 87.999 24s60.666 -8 87.999 -24s49 -37.667 65 -65s24 -56.666 24 -87.999v-517h-55v192h-244zM400.004 795c-20.667 -20 -50.667 -30 -90 -30c-10 0 -26.667 6 -50 18s-40 18 -50 18c-36 0 -65.333 -10.667 -88 -32v43c22.667 21.333 52 32 88 32
c10 0 26.667 -6 50 -18s40 -18 50 -18c39.333 0 69.333 10 90 30v-43z" />
<glyph glyph-name="Adieresis" unicode="&#xc4;" horiz-adv-x="470"
d="M141 247h244.002v270c0 24 -5.83301 45.333 -17.5 64s-26.834 33 -45.501 43s-38.334 15 -59.001 15c-36 0 -65.333 -12.333 -88 -37s-34 -53 -34 -85v-270zM141.002 192l0.00195312 -192h-55v192h-71l33 55h38v270c0 31.333 8 60.666 24 87.999s37.667 49 65 65
s56.666 24 87.999 24s60.666 -8 87.999 -24s49 -37.667 65 -65s24 -56.666 24 -87.999v-517h-55v192h-244zM159.004 812h64v-64h-64v64zM302.004 812h64v-64h-64v64z" />
<glyph glyph-name="Aring" unicode="&#xc5;" horiz-adv-x="470"
d="M141 247h244.002v270c0 24 -5.83301 45.333 -17.5 64s-26.834 33 -45.501 43s-38.334 15 -59.001 15c-36 0 -65.333 -12.333 -88 -37s-34 -53 -34 -85v-270zM141.002 192l0.00195312 -192h-55v192h-71l33 55h38v270c0 31.333 8 60.666 24 87.999s37.667 49 65 65
s56.666 24 87.999 24s60.666 -8 87.999 -24s49 -37.667 65 -65s24 -56.666 24 -87.999v-517h-55v192h-244zM263.004 878c10.667 0 20.1689 -1.66895 28.502 -5.00195s16.166 -8.66602 23.499 -15.999s12.666 -15.166 15.999 -23.499s5 -17.833 5 -28.5
c0 -20 -7.16699 -37.167 -21.5 -51.5s-31.5 -21.5 -51.5 -21.5c-19.333 0 -36.333 7.33301 -51 22s-22 31.667 -22 51c0 20 7.16699 37.167 21.5 51.5s31.5 21.5 51.5 21.5zM263.006 848.998c-12 0 -22.333 -4.33301 -31 -13s-13 -19 -13 -31s4.33301 -22.333 13 -31
s19 -13 31 -13s22.333 4.33301 31 13s13 19 13 31s-4.33301 22.333 -13 31s-19 13 -31 13z" />
<glyph glyph-name="Egrave" unicode="&#xc8;" horiz-adv-x="440"
d="M153 55h257v-55h-312v409h-83l33 55h50v216h312v-55h-257v-161h163v-55h-163v-354zM388 733l-13 -23l-250 110l30 56z" />
<glyph glyph-name="Eacute" unicode="&#xc9;" horiz-adv-x="440"
d="M153 55h257v-55h-312v409h-83l33 55h50v216h312v-55h-257v-161h163v-55h-163v-354zM118 733l233 143l30 -56l-250 -110z" />
<glyph glyph-name="Ecircumflex" unicode="&#xca;" horiz-adv-x="440"
d="M153 55h257v-55h-312v409h-83l33 55h50v216h312v-55h-257v-161h163v-55h-163v-354zM394 730l-138 71l-140 -71v51l140 71l138 -71v-51z" />
<glyph glyph-name="Edieresis" unicode="&#xcb;" horiz-adv-x="440"
d="M153 55h257v-55h-312v409h-83l33 55h50v216h312v-55h-257v-161h163v-55h-163v-354zM153 812h64v-64h-64v64zM296 812h64v-64h-64v64z" />
<glyph glyph-name="Igrave" unicode="&#xcc;"
d="M30 0v680h55v-680h-55zM196 733l-13 -23l-250 110l30 56z" />
<glyph glyph-name="Iacute" unicode="&#xcd;"
d="M30 0v680h55v-680h-55zM-82 733l233 143l30 -56l-250 -110z" />
<glyph glyph-name="Icircumflex" unicode="&#xce;"
d="M30 0v680h55v-680h-55zM196 730l-138 71l-140 -71v51l140 71l138 -71v-51z" />
<glyph glyph-name="Idieresis" unicode="&#xcf;"
d="M30 0v680h55v-680h-55zM-45 812h64v-64h-64v64zM98 812h64v-64h-64v64z" />
<glyph glyph-name="Ntilde" unicode="&#xd1;" horiz-adv-x="397"
d="M85 484v-484h-55v693l282 -498v485h55v-693zM338 795c-20.667 -20 -50.667 -30 -90 -30c-10 0 -26.667 6 -50 18s-40 18 -50 18c-36 0 -65.333 -10.667 -88 -32v43c22.667 21.333 52 32 88 32c10 0 26.667 -6 50 -18s40 -18 50 -18c39.333 0 69.333 10 90 30v-43z" />
<glyph glyph-name="Ograve" unicode="&#xd2;" horiz-adv-x="737"
d="M368 694c64.667 0 124.002 -15.8301 178.002 -47.4971s96.833 -74.334 128.5 -128.001s47.5 -112.834 47.5 -177.501s-15.833 -124 -47.5 -178s-74.5 -96.833 -128.5 -128.5s-113.333 -47.5 -178 -47.5s-123.834 15.833 -177.501 47.5s-96.334 74.5 -128.001 128.5
s-47.5 113.333 -47.5 178c0 47.333 9 92.666 27 135.999s43.5 81.5 76.5 114.5s71 58.333 114 76s88.167 26.5 135.5 26.5zM368.002 639.003c-53.333 0 -103 -13.167 -149 -39.5s-82.333 -62.833 -109 -109.5s-40 -96.334 -40 -149.001c0 -54 13.333 -104 40 -150
s63 -82.333 109 -109s95.667 -40 149 -40c54 0 104 13.333 150 40s82.333 63 109 109s40 96 40 150c0 52.667 -13.333 102.334 -40 149.001s-63 83.167 -109 109.5s-96 39.5 -150 39.5zM518.002 733.003l-13 -23l-250 110l30 56z" />
<glyph glyph-name="Oacute" unicode="&#xd3;" horiz-adv-x="737"
d="M368 694c64.667 0 124.002 -15.8301 178.002 -47.4971s96.833 -74.334 128.5 -128.001s47.5 -112.834 47.5 -177.501s-15.833 -124 -47.5 -178s-74.5 -96.833 -128.5 -128.5s-113.333 -47.5 -178 -47.5s-123.834 15.833 -177.501 47.5s-96.334 74.5 -128.001 128.5
s-47.5 113.333 -47.5 178c0 47.333 9 92.666 27 135.999s43.5 81.5 76.5 114.5s71 58.333 114 76s88.167 26.5 135.5 26.5zM368.002 639.003c-53.333 0 -103 -13.167 -149 -39.5s-82.333 -62.833 -109 -109.5s-40 -96.334 -40 -149.001c0 -54 13.333 -104 40 -150
s63 -82.333 109 -109s95.667 -40 149 -40c54 0 104 13.333 150 40s82.333 63 109 109s40 96 40 150c0 52.667 -13.333 102.334 -40 149.001s-63 83.167 -109 109.5s-96 39.5 -150 39.5zM218.002 733.003l233 143l30 -56l-250 -110z" />
<glyph glyph-name="Ocircumflex" unicode="&#xd4;" horiz-adv-x="737"
d="M368 694c64.667 0 124.002 -15.8301 178.002 -47.4971s96.833 -74.334 128.5 -128.001s47.5 -112.834 47.5 -177.501s-15.833 -124 -47.5 -178s-74.5 -96.833 -128.5 -128.5s-113.333 -47.5 -178 -47.5s-123.834 15.833 -177.501 47.5s-96.334 74.5 -128.001 128.5
s-47.5 113.333 -47.5 178c0 47.333 9 92.666 27 135.999s43.5 81.5 76.5 114.5s71 58.333 114 76s88.167 26.5 135.5 26.5zM368.002 639.003c-53.333 0 -103 -13.167 -149 -39.5s-82.333 -62.833 -109 -109.5s-40 -96.334 -40 -149.001c0 -54 13.333 -104 40 -150
s63 -82.333 109 -109s95.667 -40 149 -40c54 0 104 13.333 150 40s82.333 63 109 109s40 96 40 150c0 52.667 -13.333 102.334 -40 149.001s-63 83.167 -109 109.5s-96 39.5 -150 39.5zM506.002 730.003l-138 71l-140 -71v51l140 71l138 -71v-51z" />
<glyph glyph-name="Otilde" unicode="&#xd5;" horiz-adv-x="737"
d="M368 694c64.667 0 124.002 -15.8301 178.002 -47.4971s96.833 -74.334 128.5 -128.001s47.5 -112.834 47.5 -177.501s-15.833 -124 -47.5 -178s-74.5 -96.833 -128.5 -128.5s-113.333 -47.5 -178 -47.5s-123.834 15.833 -177.501 47.5s-96.334 74.5 -128.001 128.5
s-47.5 113.333 -47.5 178c0 47.333 9 92.666 27 135.999s43.5 81.5 76.5 114.5s71 58.333 114 76s88.167 26.5 135.5 26.5zM368.002 639.003c-53.333 0 -103 -13.167 -149 -39.5s-82.333 -62.833 -109 -109.5s-40 -96.334 -40 -149.001c0 -54 13.333 -104 40 -150
s63 -82.333 109 -109s95.667 -40 149 -40c54 0 104 13.333 150 40s82.333 63 109 109s40 96 40 150c0 52.667 -13.333 102.334 -40 149.001s-63 83.167 -109 109.5s-96 39.5 -150 39.5zM508.002 795.003c-20.667 -20 -50.667 -30 -90 -30c-10 0 -26.667 6 -50 18
s-40 18 -50 18c-36 0 -65.333 -10.667 -88 -32v43c22.667 21.333 52 32 88 32c10 0 26.667 -6 50 -18s40 -18 50 -18c39.333 0 69.333 10 90 30v-43z" />
<glyph glyph-name="Odieresis" unicode="&#xd6;" horiz-adv-x="737"
d="M368 694c64.667 0 124.002 -15.8301 178.002 -47.4971s96.833 -74.334 128.5 -128.001s47.5 -112.834 47.5 -177.501s-15.833 -124 -47.5 -178s-74.5 -96.833 -128.5 -128.5s-113.333 -47.5 -178 -47.5s-123.834 15.833 -177.501 47.5s-96.334 74.5 -128.001 128.5
s-47.5 113.333 -47.5 178c0 47.333 9 92.666 27 135.999s43.5 81.5 76.5 114.5s71 58.333 114 76s88.167 26.5 135.5 26.5zM368.002 639.003c-53.333 0 -103 -13.167 -149 -39.5s-82.333 -62.833 -109 -109.5s-40 -96.334 -40 -149.001c0 -54 13.333 -104 40 -150
s63 -82.333 109 -109s95.667 -40 149 -40c54 0 104 13.333 150 40s82.333 63 109 109s40 96 40 150c0 52.667 -13.333 102.334 -40 149.001s-63 83.167 -109 109.5s-96 39.5 -150 39.5zM263.002 812.003h64v-64h-64v64zM406.002 812.003h64v-64h-64v64z" />
<glyph glyph-name="Ugrave" unicode="&#xd9;" horiz-adv-x="414"
d="M329 680h54.998v-503c0 -31.333 -8 -60.666 -24 -87.999s-37.667 -49 -65 -65s-56.666 -24 -87.999 -24s-60.666 8 -87.999 24s-49 37.667 -65 65s-24 56.666 -24 87.999v503h55v-503c0 -31.333 11.5 -59.5 34.5 -84.5s52.167 -37.5 87.5 -37.5c32 0 60.333 11.333 85 34
s37 52 37 88v503zM343.998 733l-13 -23l-250 110l30 56z" />
<glyph glyph-name="Uacute" unicode="&#xda;" horiz-adv-x="414"
d="M329 680h54.998v-503c0 -31.333 -8 -60.666 -24 -87.999s-37.667 -49 -65 -65s-56.666 -24 -87.999 -24s-60.666 8 -87.999 24s-49 37.667 -65 65s-24 56.666 -24 87.999v503h55v-503c0 -31.333 11.5 -59.5 34.5 -84.5s52.167 -37.5 87.5 -37.5c32 0 60.333 11.333 85 34
s37 52 37 88v503zM67.998 733l233 143l30 -56l-250 -110z" />
<glyph glyph-name="Ucircumflex" unicode="&#xdb;" horiz-adv-x="414"
d="M329 680h54.998v-503c0 -31.333 -8 -60.666 -24 -87.999s-37.667 -49 -65 -65s-56.666 -24 -87.999 -24s-60.666 8 -87.999 24s-49 37.667 -65 65s-24 56.666 -24 87.999v503h55v-503c0 -31.333 11.5 -59.5 34.5 -84.5s52.167 -37.5 87.5 -37.5c32 0 60.333 11.333 85 34
s37 52 37 88v503zM344.998 730l-138 71l-140 -71v51l140 71l138 -71v-51z" />
<glyph glyph-name="Udieresis" unicode="&#xdc;" horiz-adv-x="414"
d="M329 680h54.998v-503c0 -31.333 -8 -60.666 -24 -87.999s-37.667 -49 -65 -65s-56.666 -24 -87.999 -24s-60.666 8 -87.999 24s-49 37.667 -65 65s-24 56.666 -24 87.999v503h55v-503c0 -31.333 11.5 -59.5 34.5 -84.5s52.167 -37.5 87.5 -37.5c32 0 60.333 11.333 85 34
s37 52 37 88v503zM101.998 812h64v-64h-64v64zM244.998 812h64v-64h-64v64z" />
<glyph glyph-name="agrave" unicode="&#xe0;" horiz-adv-x="477"
d="M387 55c-43.333 -44.667 -95.333 -67.001 -156 -67.001c-58.667 0 -109.334 21.333 -152.001 64s-64 93.334 -64 152.001c0 60 21.333 111 64 153s93.334 63 152.001 63c60.667 0 112.667 -22.333 156 -67l60 56v-409zM231 364.999c-45.333 0 -83.5 -15.5 -114.5 -46.5
s-46.5 -69.167 -46.5 -114.5s15.5 -83.5 46.5 -114.5s69.167 -46.5 114.5 -46.5c44.667 0 82.667 15.667 114 47s47 69.333 47 114s-15.667 82.667 -47 114s-69.333 47 -114 47zM372 490.999l-13 -23l-250 110l30 56z" />
<glyph glyph-name="aacute" unicode="&#xe1;" horiz-adv-x="477"
d="M387 55c-43.333 -44.667 -95.333 -67.001 -156 -67.001c-58.667 0 -109.334 21.333 -152.001 64s-64 93.334 -64 152.001c0 60 21.333 111 64 153s93.334 63 152.001 63c60.667 0 112.667 -22.333 156 -67l60 56v-409zM231 364.999c-45.333 0 -83.5 -15.5 -114.5 -46.5
s-46.5 -69.167 -46.5 -114.5s15.5 -83.5 46.5 -114.5s69.167 -46.5 114.5 -46.5c44.667 0 82.667 15.667 114 47s47 69.333 47 114s-15.667 82.667 -47 114s-69.333 47 -114 47zM92 490.999l233 143l30 -56l-250 -110z" />
<glyph glyph-name="acircumflex" unicode="&#xe2;" horiz-adv-x="477"
d="M387 55c-43.333 -44.667 -95.333 -67.001 -156 -67.001c-58.667 0 -109.334 21.333 -152.001 64s-64 93.334 -64 152.001c0 60 21.333 111 64 153s93.334 63 152.001 63c60.667 0 112.667 -22.333 156 -67l60 56v-409zM231 364.999c-45.333 0 -83.5 -15.5 -114.5 -46.5
s-46.5 -69.167 -46.5 -114.5s15.5 -83.5 46.5 -114.5s69.167 -46.5 114.5 -46.5c44.667 0 82.667 15.667 114 47s47 69.333 47 114s-15.667 82.667 -47 114s-69.333 47 -114 47zM373 473.999l-138 71l-140 -71v51l140 71l138 -71v-51z" />
<glyph glyph-name="atilde" unicode="&#xe3;" horiz-adv-x="477"
d="M387 55c-43.333 -44.667 -95.333 -67.001 -156 -67.001c-58.667 0 -109.334 21.333 -152.001 64s-64 93.334 -64 152.001c0 60 21.333 111 64 153s93.334 63 152.001 63c60.667 0 112.667 -22.333 156 -67l60 56v-409zM231 364.999c-45.333 0 -83.5 -15.5 -114.5 -46.5
s-46.5 -69.167 -46.5 -114.5s15.5 -83.5 46.5 -114.5s69.167 -46.5 114.5 -46.5c44.667 0 82.667 15.667 114 47s47 69.333 47 114s-15.667 82.667 -47 114s-69.333 47 -114 47zM372 526.999c-20.667 -20 -50.667 -30 -90 -30c-10 0 -26.667 6 -50 18s-40 18 -50 18
c-36 0 -65.333 -10.667 -88 -32v43c22.667 21.333 52 32 88 32c10 0 26.667 -6 50 -18s40 -18 50 -18c39.333 0 69.333 10 90 30v-43z" />
<glyph glyph-name="adieresis" unicode="&#xe4;" horiz-adv-x="477"
d="M387 55c-43.333 -44.667 -95.333 -67.001 -156 -67.001c-58.667 0 -109.334 21.333 -152.001 64s-64 93.334 -64 152.001c0 60 21.333 111 64 153s93.334 63 152.001 63c60.667 0 112.667 -22.333 156 -67l60 56v-409zM231 364.999c-45.333 0 -83.5 -15.5 -114.5 -46.5
s-46.5 -69.167 -46.5 -114.5s15.5 -83.5 46.5 -114.5s69.167 -46.5 114.5 -46.5c44.667 0 82.667 15.667 114 47s47 69.333 47 114s-15.667 82.667 -47 114s-69.333 47 -114 47zM133 567.999h64v-64h-64v64zM276 567.999h64v-64h-64v64z" />
<glyph glyph-name="aring" unicode="&#xe5;" horiz-adv-x="477"
d="M387 55c-43.333 -44.667 -95.333 -67.001 -156 -67.001c-58.667 0 -109.334 21.333 -152.001 64s-64 93.334 -64 152.001c0 60 21.333 111 64 153s93.334 63 152.001 63c60.667 0 112.667 -22.333 156 -67l60 56v-409zM231 364.999c-45.333 0 -83.5 -15.5 -114.5 -46.5
s-46.5 -69.167 -46.5 -114.5s15.5 -83.5 46.5 -114.5s69.167 -46.5 114.5 -46.5c44.667 0 82.667 15.667 114 47s47 69.333 47 114s-15.667 82.667 -47 114s-69.333 47 -114 47zM235 615.999c10.667 0 20.1689 -1.66895 28.502 -5.00195s16.166 -8.66602 23.499 -15.999
s12.666 -15.166 15.999 -23.499s5 -17.833 5 -28.5c0 -20 -7.16699 -37.167 -21.5 -51.5s-31.5 -21.5 -51.5 -21.5c-19.333 0 -36.333 7.33301 -51 22s-22 31.667 -22 51c0 20 7.16699 37.167 21.5 51.5s31.5 21.5 51.5 21.5zM235.002 586.997
c-12 0 -22.333 -4.33301 -31 -13s-13 -19 -13 -31s4.33301 -22.333 13 -31s19 -13 31 -13s22.333 4.33301 31 13s13 19 13 31s-4.33301 22.333 -13 31s-19 13 -31 13z" />
<glyph glyph-name="egrave" unicode="&#xe8;" horiz-adv-x="437"
d="M373 129l48 -27c-18 -34 -44 -61.5 -78 -82.5s-71.333 -31.5 -112 -31.5c-58.667 0 -109.334 21.333 -152.001 64s-64 93.334 -64 152.001c0 60 21.333 111 64 153s93.334 63 152.001 63c37.333 0 72.5 -9.33301 105.5 -28s58.5 -42.334 76.5 -71.001l-279 -246
c28 -21.333 60.333 -32 97 -32c30.667 0 58.5 7.66699 83.5 23s44.5 36.333 58.5 63zM97 114l239 212c-30 26 -65 39 -105 39c-45.333 0 -83.5 -15.5 -114.5 -46.5s-46.5 -69.167 -46.5 -114.5c0 -32.667 9 -62.667 27 -90zM360 491l-13 -23l-250 110l30 56z" />
<glyph glyph-name="eacute" unicode="&#xe9;" horiz-adv-x="437"
d="M373 129l48 -27c-18 -34 -44 -61.5 -78 -82.5s-71.333 -31.5 -112 -31.5c-58.667 0 -109.334 21.333 -152.001 64s-64 93.334 -64 152.001c0 60 21.333 111 64 153s93.334 63 152.001 63c37.333 0 72.5 -9.33301 105.5 -28s58.5 -42.334 76.5 -71.001l-279 -246
c28 -21.333 60.333 -32 97 -32c30.667 0 58.5 7.66699 83.5 23s44.5 36.333 58.5 63zM97 114l239 212c-30 26 -65 39 -105 39c-45.333 0 -83.5 -15.5 -114.5 -46.5s-46.5 -69.167 -46.5 -114.5c0 -32.667 9 -62.667 27 -90zM80 491l233 143l30 -56l-250 -110z" />
<glyph glyph-name="ecircumflex" unicode="&#xea;" horiz-adv-x="437"
d="M373 129l48 -27c-18 -34 -44 -61.5 -78 -82.5s-71.333 -31.5 -112 -31.5c-58.667 0 -109.334 21.333 -152.001 64s-64 93.334 -64 152.001c0 60 21.333 111 64 153s93.334 63 152.001 63c37.333 0 72.5 -9.33301 105.5 -28s58.5 -42.334 76.5 -71.001l-279 -246
c28 -21.333 60.333 -32 97 -32c30.667 0 58.5 7.66699 83.5 23s44.5 36.333 58.5 63zM97 114l239 212c-30 26 -65 39 -105 39c-45.333 0 -83.5 -15.5 -114.5 -46.5s-46.5 -69.167 -46.5 -114.5c0 -32.667 9 -62.667 27 -90zM372 474l-138 71l-140 -71v51l140 71l138 -71v-51
z" />
<glyph glyph-name="edieresis" unicode="&#xeb;" horiz-adv-x="437"
d="M373 129l48 -27c-18 -34 -44 -61.5 -78 -82.5s-71.333 -31.5 -112 -31.5c-58.667 0 -109.334 21.333 -152.001 64s-64 93.334 -64 152.001c0 60 21.333 111 64 153s93.334 63 152.001 63c37.333 0 72.5 -9.33301 105.5 -28s58.5 -42.334 76.5 -71.001l-279 -246
c28 -21.333 60.333 -32 97 -32c30.667 0 58.5 7.66699 83.5 23s44.5 36.333 58.5 63zM97 114l239 212c-30 26 -65 39 -105 39c-45.333 0 -83.5 -15.5 -114.5 -46.5s-46.5 -69.167 -46.5 -114.5c0 -32.667 9 -62.667 27 -90zM133 568h64v-64h-64v64zM276 568h64v-64h-64v64z
" />
<glyph glyph-name="igrave" unicode="&#xec;"
d="M30 409h55v-409h-55v409zM200 491l-13 -23l-250 110l30 56z" />
<glyph glyph-name="iacute" unicode="&#xed;"
d="M30 409h55v-409h-55v409zM-78 491l233 143l30 -56l-250 -110z" />
<glyph glyph-name="icircumflex" unicode="&#xee;"
d="M30 409h55v-409h-55v409zM195 474l-138 71l-140 -71v51l140 71l138 -71v-51z" />
<glyph glyph-name="idieresis" unicode="&#xef;"
d="M30 409h55v-409h-55v409zM-45 568h64v-64h-64v64zM98 568h64v-64h-64v64z" />
<glyph glyph-name="ntilde" unicode="&#xf1;" horiz-adv-x="386"
d="M30 0v409.001l47 -38c31.333 32.667 70 49 116 49s84.667 -15.667 116 -47s47 -70 47 -116v-257h-55v257c0 31.333 -10.5 57.166 -31.5 77.499s-46.5 30.5 -76.5 30.5s-55.5 -10.5 -76.5 -31.5s-31.5 -46.5 -31.5 -76.5v-257h-55zM330 527.001
c-20.667 -20 -50.667 -30 -90 -30c-10 0 -26.667 6 -50 18s-40 18 -50 18c-36 0 -65.333 -10.667 -88 -32v43c22.667 21.333 52 32 88 32c10 0 26.667 -6 50 -18s40 -18 50 -18c39.333 0 69.333 10 90 30v-43z" />
<glyph glyph-name="ograve" unicode="&#xf2;" horiz-adv-x="462"
d="M231 420c60 0 111 -21 153 -63s63 -93 63 -153c0 -58.667 -21 -109.334 -63 -152.001s-93 -64 -153 -64c-58.667 0 -109.334 21.333 -152.001 64s-64 93.334 -64 152.001c0 60 21.333 111 64 153s93.334 63 152.001 63zM231 365c-45.333 0 -83.5 -15.5 -114.5 -46.5
s-46.5 -69.167 -46.5 -114.5s15.5 -83.5 46.5 -114.5s69.167 -46.5 114.5 -46.5c44.667 0 82.667 15.667 114 47s47 69.333 47 114s-15.667 82.667 -47 114s-69.333 47 -114 47zM372 491l-13 -23l-250 110l30 56z" />
<glyph glyph-name="oacute" unicode="&#xf3;" horiz-adv-x="462"
d="M231 420c60 0 111 -21 153 -63s63 -93 63 -153c0 -58.667 -21 -109.334 -63 -152.001s-93 -64 -153 -64c-58.667 0 -109.334 21.333 -152.001 64s-64 93.334 -64 152.001c0 60 21.333 111 64 153s93.334 63 152.001 63zM231 365c-45.333 0 -83.5 -15.5 -114.5 -46.5
s-46.5 -69.167 -46.5 -114.5s15.5 -83.5 46.5 -114.5s69.167 -46.5 114.5 -46.5c44.667 0 82.667 15.667 114 47s47 69.333 47 114s-15.667 82.667 -47 114s-69.333 47 -114 47zM86 491l233 143l30 -56l-250 -110z" />
<glyph glyph-name="ocircumflex" unicode="&#xf4;" horiz-adv-x="462"
d="M231 420c60 0 111 -21 153 -63s63 -93 63 -153c0 -58.667 -21 -109.334 -63 -152.001s-93 -64 -153 -64c-58.667 0 -109.334 21.333 -152.001 64s-64 93.334 -64 152.001c0 60 21.333 111 64 153s93.334 63 152.001 63zM231 365c-45.333 0 -83.5 -15.5 -114.5 -46.5
s-46.5 -69.167 -46.5 -114.5s15.5 -83.5 46.5 -114.5s69.167 -46.5 114.5 -46.5c44.667 0 82.667 15.667 114 47s47 69.333 47 114s-15.667 82.667 -47 114s-69.333 47 -114 47zM370 474l-138 71l-140 -71v51l140 71l138 -71v-51z" />
<glyph glyph-name="otilde" unicode="&#xf5;" horiz-adv-x="462"
d="M231 420c60 0 111 -21 153 -63s63 -93 63 -153c0 -58.667 -21 -109.334 -63 -152.001s-93 -64 -153 -64c-58.667 0 -109.334 21.333 -152.001 64s-64 93.334 -64 152.001c0 60 21.333 111 64 153s93.334 63 152.001 63zM231 365c-45.333 0 -83.5 -15.5 -114.5 -46.5
s-46.5 -69.167 -46.5 -114.5s15.5 -83.5 46.5 -114.5s69.167 -46.5 114.5 -46.5c44.667 0 82.667 15.667 114 47s47 69.333 47 114s-15.667 82.667 -47 114s-69.333 47 -114 47zM370 527c-20.667 -20 -50.667 -30 -90 -30c-10 0 -26.667 6 -50 18s-40 18 -50 18
c-36 0 -65.333 -10.667 -88 -32v43c22.667 21.333 52 32 88 32c10 0 26.667 -6 50 -18s40 -18 50 -18c39.333 0 69.333 10 90 30v-43z" />
<glyph glyph-name="odieresis" unicode="&#xf6;" horiz-adv-x="462"
d="M231 420c60 0 111 -21 153 -63s63 -93 63 -153c0 -58.667 -21 -109.334 -63 -152.001s-93 -64 -153 -64c-58.667 0 -109.334 21.333 -152.001 64s-64 93.334 -64 152.001c0 60 21.333 111 64 153s93.334 63 152.001 63zM231 365c-45.333 0 -83.5 -15.5 -114.5 -46.5
s-46.5 -69.167 -46.5 -114.5s15.5 -83.5 46.5 -114.5s69.167 -46.5 114.5 -46.5c44.667 0 82.667 15.667 114 47s47 69.333 47 114s-15.667 82.667 -47 114s-69.333 47 -114 47zM129 568h64v-64h-64v64zM272 568h64v-64h-64v64z" />
<glyph glyph-name="ugrave" unicode="&#xf9;" horiz-adv-x="386"
d="M356 409v-409.001l-47 38c-31.333 -32.667 -70 -49 -116 -49s-84.667 15.667 -116 47s-47 70 -47 116v257h55v-257c0 -30 10.833 -55.5 32.5 -76.5s46.834 -31.5 75.501 -31.5c31.333 0 57.166 10.833 77.499 32.5s30.5 46.834 30.5 75.501v257h55zM330 490.999l-13 -23
l-250 110l30 56z" />
<glyph glyph-name="uacute" unicode="&#xfa;" horiz-adv-x="386"
d="M356 409v-409.001l-47 38c-31.333 -32.667 -70 -49 -116 -49s-84.667 15.667 -116 47s-47 70 -47 116v257h55v-257c0 -30 10.833 -55.5 32.5 -76.5s46.834 -31.5 75.501 -31.5c31.333 0 57.166 10.833 77.499 32.5s30.5 46.834 30.5 75.501v257h55zM57 490.999l233 143
l30 -56l-250 -110z" />
<glyph glyph-name="ucircumflex" unicode="&#xfb;" horiz-adv-x="386"
d="M356 409v-409.001l-47 38c-31.333 -32.667 -70 -49 -116 -49s-84.667 15.667 -116 47s-47 70 -47 116v257h55v-257c0 -30 10.833 -55.5 32.5 -76.5s46.834 -31.5 75.501 -31.5c31.333 0 57.166 10.833 77.499 32.5s30.5 46.834 30.5 75.501v257h55zM331 473.999l-138 71
l-140 -71v51l140 71l138 -71v-51z" />
<glyph glyph-name="udieresis" unicode="&#xfc;" horiz-adv-x="386"
d="M356 409v-409.001l-47 38c-31.333 -32.667 -70 -49 -116 -49s-84.667 15.667 -116 47s-47 70 -47 116v257h55v-257c0 -30 10.833 -55.5 32.5 -76.5s46.834 -31.5 75.501 -31.5c31.333 0 57.166 10.833 77.499 32.5s30.5 46.834 30.5 75.501v257h55zM89 567.999h64v-64
h-64v64zM232 567.999h64v-64h-64v64z" />
<glyph glyph-name="ydieresis" unicode="&#xff;" horiz-adv-x="386"
d="M54 -190l43 31.999c21.333 -32 52.333 -48 93 -48c33.333 0 60.166 11 80.499 33s30.5 48 30.5 78v125c-30.667 -27.333 -66.667 -41 -108 -41c-46 0 -84.667 15.667 -116 47s-47 70 -47 116v257h55v-257c0 -30 10.833 -55.5 32.5 -76.5s46.834 -31.5 75.501 -31.5
c31.333 0 57.166 10.833 77.499 32.5s30.5 46.834 30.5 75.501v257h55v-504c0 -46 -16.167 -85.167 -48.5 -117.5s-71.5 -48.5 -117.5 -48.5c-57.333 0 -102.666 23.667 -135.999 71zM89 567.999h64v-64h-64v64zM232 567.999h64v-64h-64v64z" />
<glyph glyph-name="dotlessi" unicode="&#x131;"
d="M30 409h55v-409h-55v409z" />
<glyph glyph-name="Ydieresis" unicode="&#x178;" horiz-adv-x="375"
d="M160 303l-160 377h60l128 -301l127 301h60l-160 -377v-303h-55v303zM85 812h64v-64h-64v64zM228 812h64v-64h-64v64z" />
<glyph glyph-name="circumflex" unicode="&#x2c6;" horiz-adv-x="338"
d="M308 730l-138 71l-140 -71v51l140 71l138 -71v-51z" />
<glyph glyph-name="caron" unicode="&#x2c7;" horiz-adv-x="338"
d="M308 852v-51l-138 -71l-140 71v51l140 -71z" />
<glyph glyph-name="ring" unicode="&#x2da;" horiz-adv-x="176"
d="M88 878c10.667 0 20.1689 -1.66895 28.502 -5.00195s16.166 -8.66602 23.499 -15.999s12.666 -15.166 15.999 -23.499s5 -17.833 5 -28.5c0 -20 -7.16699 -37.167 -21.5 -51.5s-31.5 -21.5 -51.5 -21.5c-19.333 0 -36.333 7.33301 -51 22s-22 31.667 -22 51
c0 20 7.16699 37.167 21.5 51.5s31.5 21.5 51.5 21.5zM88.002 848.998c-12 0 -22.333 -4.33301 -31 -13s-13 -19 -13 -31s4.33301 -22.333 13 -31s19 -13 31 -13s22.333 4.33301 31 13s13 19 13 31s-4.33301 22.333 -13 31s-19 13 -31 13z" />
<glyph glyph-name="tilde" unicode="&#x2dc;" horiz-adv-x="338"
d="M308 795c-20.667 -20 -50.667 -30 -90 -30c-10 0 -26.667 6 -50 18s-40 18 -50 18c-36 0 -65.333 -10.667 -88 -32v43c22.667 21.333 52 32 88 32c10 0 26.667 -6 50 -18s40 -18 50 -18c39.333 0 69.333 10 90 30v-43z" />
<glyph glyph-name="endash" unicode="&#x2013;" horiz-adv-x="340"
d="M310 235v-55h-280v55h280z" />
<glyph glyph-name="emdash" unicode="&#x2014;" horiz-adv-x="534"
d="M504 235v-55h-474v55h474z" />
<glyph glyph-name="quoteleft" unicode="&#x2018;"
d="M86 732v-108h-56v56h24z" />
<glyph glyph-name="quoteright" unicode="&#x2019;"
d="M86 586l-32 52h-24v56h56v-108z" />
<glyph glyph-name="quotedblleft" unicode="&#x201c;" horiz-adv-x="194"
d="M86 732v-108h-56v56h24zM164 732v-108h-56v56h24z" />
<glyph glyph-name="quotedblright" unicode="&#x201d;" horiz-adv-x="194"
d="M86 586l-32 52h-24v56h56v-108zM164 586l-32 52h-24v56h56v-108z" />
<glyph glyph-name="bullet" unicode="&#x2022;" horiz-adv-x="208"
d="M104 488c17.333 0 32.5 -4 45.5 -12s23.5 -18.5 31.5 -31.5s12 -28.167 12 -45.5c0 -24.667 -8.66699 -45.667 -26 -63s-38.333 -26 -63 -26s-45.667 8.66699 -63 26s-26 38.333 -26 63s8.66699 45.667 26 63s38.333 26 63 26z" />
<glyph glyph-name="ellipsis" unicode="&#x2026;" horiz-adv-x="351"
d="M30 55h55v-55h-55v55zM148 55h55v-55h-55v55zM266 55h55v-55h-55v55z" />
<glyph glyph-name="fi" unicode="&#xfb01;" horiz-adv-x="353"
d="M268 353h-123v-353h-55v353h-75v55h75v123c0 27.333 6.66699 52.333 20 75s31.333 40.667 54 54s47.667 20 75 20c32 0 61.333 -9.66699 88 -29l-37 -41c-14.667 10 -31.667 15 -51 15c-26 0 -48.167 -9.16699 -66.5 -27.5s-27.5 -40.5 -27.5 -66.5v-123l178 1v-409h-55
v353z" />
<glyph glyph-name="fl" unicode="&#xfb02;" horiz-adv-x="358"
d="M273 625h-34c-26 0 -48.167 -9.16699 -66.5 -27.5s-27.5 -40.5 -27.5 -66.5v-123h74v-55h-74v-353h-55v353h-75v55h75v123c0 27.333 6.66699 52.333 20 75s31.333 40.667 54 54s47.667 20 75 20h89v-680h-55v625z" />
</font>
</defs></svg>

After

Width:  |  Height:  |  Size: 53 KiB

BIN
fonts/Bellerose.ttf Normal file

Binary file not shown.

BIN
fonts/Bellerose.woff Normal file

Binary file not shown.

58
index.html Normal file
View File

@ -0,0 +1,58 @@
<!DOCTYPE html>
<html class="no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="js/vendor/jquery-1.11.0.min.js"></script>
<link rel="stylesheet" href="css/normalize.min.css">
<link rel="stylesheet" href="css/fonts.css">
<link rel="stylesheet" href="css/main.css">
<script src="js/vendor/modernizr-2.6.2.min.js"></script>
<script src="js/fastclick.js" type="application/javascript"></script>
</head>
<body>
<!--[if lt IE 7]>
<p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
<![endif]-->
<div id="content">
<div id="titulo">Bars</div>
<div id="botonEmpezar">Start</div>
<div id="tutorial">
<p>Click to raise the bar</p>
</div>
<div id="nivel">Level <span id="numero">1</span></div>
<div id="toques">Touches <span id="numeros">0</span></div>
<div id="tiempo">Time <span id="segundos">0</span>s</div>
<div id="cartelNivel"></div>
<div id="contenerdorBarras">
<div class="huecoBarras">
<div id="barra1" class="barras"></div>
</div>
<div class="huecoBarras">
<div id="barra2" class="barras"></div>
</div>
<div class="huecoBarras">
<div id="barra3" class="barras"></div>
</div>
<div class="huecoBarras">
<div id="barra4" class="barras"></div>
</div>
<div class="huecoBarras">
<div id="barra5" class="barras"></div>
</div>
</div>
<div id="cuadro" class="animacionCuadro"></div>
</div>
<script src="js/vista.js" type="text/javascript"></script>
<script src="js/controlador.js" type="text/javascript"></script>
<script src="js/metodo.js" type="text/javascript"></script>
<script src="js/main.js"></script>
</body>
</html>

17
js/controlador.js Normal file
View File

@ -0,0 +1,17 @@
/* Quita delay de smartphones al hacer click */
window.addEventListener('load', function () {
FastClick.attach(document.body);
}, false);
$('.barras').click(function() {
$barra = $(this);
if(bJugando) gestionarBarra($barra);
});
$('#botonEmpezar').click(function() {
if(!bEmpezada) {
iniciarPartida();
} else {
reiniciarPartida();
}
});

788
js/fastclick.js Normal file
View File

@ -0,0 +1,788 @@
/**
* @preserve FastClick: polyfill to remove click delays on browsers with touch UIs.
*
* @version 0.6.11
* @codingstandard ftlabs-jsv2
* @copyright The Financial Times Limited [All Rights Reserved]
* @license MIT License (see LICENSE.txt)
*/
/*jslint browser:true, node:true*/
/*global define, Event, Node*/
/**
* Instantiate fast-clicking listeners on the specificed layer.
*
* @constructor
* @param {Element} layer The layer to listen on
*/
function FastClick(layer) {
'use strict';
var oldOnClick, self = this;
/**
* Whether a click is currently being tracked.
*
* @type boolean
*/
this.trackingClick = false;
/**
* Timestamp for when when click tracking started.
*
* @type number
*/
this.trackingClickStart = 0;
/**
* The element being tracked for a click.
*
* @type EventTarget
*/
this.targetElement = null;
/**
* X-coordinate of touch start event.
*
* @type number
*/
this.touchStartX = 0;
/**
* Y-coordinate of touch start event.
*
* @type number
*/
this.touchStartY = 0;
/**
* ID of the last touch, retrieved from Touch.identifier.
*
* @type number
*/
this.lastTouchIdentifier = 0;
/**
* Touchmove boundary, beyond which a click will be cancelled.
*
* @type number
*/
this.touchBoundary = 10;
/**
* The FastClick layer.
*
* @type Element
*/
this.layer = layer;
if (!layer || !layer.nodeType) {
throw new TypeError('Layer must be a document node');
}
/** @type function() */
this.onClick = function() { return FastClick.prototype.onClick.apply(self, arguments); };
/** @type function() */
this.onMouse = function() { return FastClick.prototype.onMouse.apply(self, arguments); };
/** @type function() */
this.onTouchStart = function() { return FastClick.prototype.onTouchStart.apply(self, arguments); };
/** @type function() */
this.onTouchMove = function() { return FastClick.prototype.onTouchMove.apply(self, arguments); };
/** @type function() */
this.onTouchEnd = function() { return FastClick.prototype.onTouchEnd.apply(self, arguments); };
/** @type function() */
this.onTouchCancel = function() { return FastClick.prototype.onTouchCancel.apply(self, arguments); };
if (FastClick.notNeeded(layer)) {
return;
}
// Set up event handlers as required
if (this.deviceIsAndroid) {
layer.addEventListener('mouseover', this.onMouse, true);
layer.addEventListener('mousedown', this.onMouse, true);
layer.addEventListener('mouseup', this.onMouse, true);
}
layer.addEventListener('click', this.onClick, true);
layer.addEventListener('touchstart', this.onTouchStart, false);
layer.addEventListener('touchmove', this.onTouchMove, false);
layer.addEventListener('touchend', this.onTouchEnd, false);
layer.addEventListener('touchcancel', this.onTouchCancel, false);
// Hack is required for browsers that don't support Event#stopImmediatePropagation (e.g. Android 2)
// which is how FastClick normally stops click events bubbling to callbacks registered on the FastClick
// layer when they are cancelled.
if (!Event.prototype.stopImmediatePropagation) {
layer.removeEventListener = function(type, callback, capture) {
var rmv = Node.prototype.removeEventListener;
if (type === 'click') {
rmv.call(layer, type, callback.hijacked || callback, capture);
} else {
rmv.call(layer, type, callback, capture);
}
};
layer.addEventListener = function(type, callback, capture) {
var adv = Node.prototype.addEventListener;
if (type === 'click') {
adv.call(layer, type, callback.hijacked || (callback.hijacked = function(event) {
if (!event.propagationStopped) {
callback(event);
}
}), capture);
} else {
adv.call(layer, type, callback, capture);
}
};
}
// If a handler is already declared in the element's onclick attribute, it will be fired before
// FastClick's onClick handler. Fix this by pulling out the user-defined handler function and
// adding it as listener.
if (typeof layer.onclick === 'function') {
// Android browser on at least 3.2 requires a new reference to the function in layer.onclick
// - the old one won't work if passed to addEventListener directly.
oldOnClick = layer.onclick;
layer.addEventListener('click', function(event) {
oldOnClick(event);
}, false);
layer.onclick = null;
}
}
/**
* Android requires exceptions.
*
* @type boolean
*/
FastClick.prototype.deviceIsAndroid = navigator.userAgent.indexOf('Android') > 0;
/**
* iOS requires exceptions.
*
* @type boolean
*/
FastClick.prototype.deviceIsIOS = /iP(ad|hone|od)/.test(navigator.userAgent);
/**
* iOS 4 requires an exception for select elements.
*
* @type boolean
*/
FastClick.prototype.deviceIsIOS4 = FastClick.prototype.deviceIsIOS && (/OS 4_\d(_\d)?/).test(navigator.userAgent);
/**
* iOS 6.0(+?) requires the target element to be manually derived
*
* @type boolean
*/
FastClick.prototype.deviceIsIOSWithBadTarget = FastClick.prototype.deviceIsIOS && (/OS ([6-9]|\d{2})_\d/).test(navigator.userAgent);
/**
* Determine whether a given element requires a native click.
*
* @param {EventTarget|Element} target Target DOM element
* @returns {boolean} Returns true if the element needs a native click
*/
FastClick.prototype.needsClick = function(target) {
'use strict';
switch (target.nodeName.toLowerCase()) {
// Don't send a synthetic click to disabled inputs (issue #62)
case 'button':
case 'select':
case 'textarea':
if (target.disabled) {
return true;
}
break;
case 'input':
// File inputs need real clicks on iOS 6 due to a browser bug (issue #68)
if ((this.deviceIsIOS && target.type === 'file') || target.disabled) {
return true;
}
break;
case 'label':
case 'video':
return true;
}
return (/\bneedsclick\b/).test(target.className);
};
/**
* Determine whether a given element requires a call to focus to simulate click into element.
*
* @param {EventTarget|Element} target Target DOM element
* @returns {boolean} Returns true if the element requires a call to focus to simulate native click.
*/
FastClick.prototype.needsFocus = function(target) {
'use strict';
switch (target.nodeName.toLowerCase()) {
case 'textarea':
return true;
case 'select':
return !this.deviceIsAndroid;
case 'input':
switch (target.type) {
case 'button':
case 'checkbox':
case 'file':
case 'image':
case 'radio':
case 'submit':
return false;
}
// No point in attempting to focus disabled inputs
return !target.disabled && !target.readOnly;
default:
return (/\bneedsfocus\b/).test(target.className);
}
};
/**
* Send a click event to the specified element.
*
* @param {EventTarget|Element} targetElement
* @param {Event} event
*/
FastClick.prototype.sendClick = function(targetElement, event) {
'use strict';
var clickEvent, touch;
// On some Android devices activeElement needs to be blurred otherwise the synthetic click will have no effect (#24)
if (document.activeElement && document.activeElement !== targetElement) {
document.activeElement.blur();
}
touch = event.changedTouches[0];
// Synthesise a click event, with an extra attribute so it can be tracked
clickEvent = document.createEvent('MouseEvents');
clickEvent.initMouseEvent(this.determineEventType(targetElement), true, true, window, 1, touch.screenX, touch.screenY, touch.clientX, touch.clientY, false, false, false, false, 0, null);
clickEvent.forwardedTouchEvent = true;
targetElement.dispatchEvent(clickEvent);
};
FastClick.prototype.determineEventType = function(targetElement) {
'use strict';
//Issue #159: Android Chrome Select Box does not open with a synthetic click event
if (this.deviceIsAndroid && targetElement.tagName.toLowerCase() === 'select') {
return 'mousedown';
}
return 'click';
};
/**
* @param {EventTarget|Element} targetElement
*/
FastClick.prototype.focus = function(targetElement) {
'use strict';
var length;
// Issue #160: on iOS 7, some input elements (e.g. date datetime) throw a vague TypeError on setSelectionRange. These elements don't have an integer value for the selectionStart and selectionEnd properties, but unfortunately that can't be used for detection because accessing the properties also throws a TypeError. Just check the type instead. Filed as Apple bug #15122724.
if (this.deviceIsIOS && targetElement.setSelectionRange && targetElement.type.indexOf('date') !== 0 && targetElement.type !== 'time') {
length = targetElement.value.length;
targetElement.setSelectionRange(length, length);
} else {
targetElement.focus();
}
};
/**
* Check whether the given target element is a child of a scrollable layer and if so, set a flag on it.
*
* @param {EventTarget|Element} targetElement
*/
FastClick.prototype.updateScrollParent = function(targetElement) {
'use strict';
var scrollParent, parentElement;
scrollParent = targetElement.fastClickScrollParent;
// Attempt to discover whether the target element is contained within a scrollable layer. Re-check if the
// target element was moved to another parent.
if (!scrollParent || !scrollParent.contains(targetElement)) {
parentElement = targetElement;
do {
if (parentElement.scrollHeight > parentElement.offsetHeight) {
scrollParent = parentElement;
targetElement.fastClickScrollParent = parentElement;
break;
}
parentElement = parentElement.parentElement;
} while (parentElement);
}
// Always update the scroll top tracker if possible.
if (scrollParent) {
scrollParent.fastClickLastScrollTop = scrollParent.scrollTop;
}
};
/**
* @param {EventTarget} targetElement
* @returns {Element|EventTarget}
*/
FastClick.prototype.getTargetElementFromEventTarget = function(eventTarget) {
'use strict';
// On some older browsers (notably Safari on iOS 4.1 - see issue #56) the event target may be a text node.
if (eventTarget.nodeType === Node.TEXT_NODE) {
return eventTarget.parentNode;
}
return eventTarget;
};
/**
* On touch start, record the position and scroll offset.
*
* @param {Event} event
* @returns {boolean}
*/
FastClick.prototype.onTouchStart = function(event) {
'use strict';
var targetElement, touch, selection;
// Ignore multiple touches, otherwise pinch-to-zoom is prevented if both fingers are on the FastClick element (issue #111).
if (event.targetTouches.length > 1) {
return true;
}
targetElement = this.getTargetElementFromEventTarget(event.target);
touch = event.targetTouches[0];
if (this.deviceIsIOS) {
// Only trusted events will deselect text on iOS (issue #49)
selection = window.getSelection();
if (selection.rangeCount && !selection.isCollapsed) {
return true;
}
if (!this.deviceIsIOS4) {
// Weird things happen on iOS when an alert or confirm dialog is opened from a click event callback (issue #23):
// when the user next taps anywhere else on the page, new touchstart and touchend events are dispatched
// with the same identifier as the touch event that previously triggered the click that triggered the alert.
// Sadly, there is an issue on iOS 4 that causes some normal touch events to have the same identifier as an
// immediately preceeding touch event (issue #52), so this fix is unavailable on that platform.
if (touch.identifier === this.lastTouchIdentifier) {
event.preventDefault();
return false;
}
this.lastTouchIdentifier = touch.identifier;
// If the target element is a child of a scrollable layer (using -webkit-overflow-scrolling: touch) and:
// 1) the user does a fling scroll on the scrollable layer
// 2) the user stops the fling scroll with another tap
// then the event.target of the last 'touchend' event will be the element that was under the user's finger
// when the fling scroll was started, causing FastClick to send a click event to that layer - unless a check
// is made to ensure that a parent layer was not scrolled before sending a synthetic click (issue #42).
this.updateScrollParent(targetElement);
}
}
this.trackingClick = true;
this.trackingClickStart = event.timeStamp;
this.targetElement = targetElement;
this.touchStartX = touch.pageX;
this.touchStartY = touch.pageY;
// Prevent phantom clicks on fast double-tap (issue #36)
if ((event.timeStamp - this.lastClickTime) < 200) {
event.preventDefault();
}
return true;
};
/**
* Based on a touchmove event object, check whether the touch has moved past a boundary since it started.
*
* @param {Event} event
* @returns {boolean}
*/
FastClick.prototype.touchHasMoved = function(event) {
'use strict';
var touch = event.changedTouches[0], boundary = this.touchBoundary;
if (Math.abs(touch.pageX - this.touchStartX) > boundary || Math.abs(touch.pageY - this.touchStartY) > boundary) {
return true;
}
return false;
};
/**
* Update the last position.
*
* @param {Event} event
* @returns {boolean}
*/
FastClick.prototype.onTouchMove = function(event) {
'use strict';
if (!this.trackingClick) {
return true;
}
// If the touch has moved, cancel the click tracking
if (this.targetElement !== this.getTargetElementFromEventTarget(event.target) || this.touchHasMoved(event)) {
this.trackingClick = false;
this.targetElement = null;
}
return true;
};
/**
* Attempt to find the labelled control for the given label element.
*
* @param {EventTarget|HTMLLabelElement} labelElement
* @returns {Element|null}
*/
FastClick.prototype.findControl = function(labelElement) {
'use strict';
// Fast path for newer browsers supporting the HTML5 control attribute
if (labelElement.control !== undefined) {
return labelElement.control;
}
// All browsers under test that support touch events also support the HTML5 htmlFor attribute
if (labelElement.htmlFor) {
return document.getElementById(labelElement.htmlFor);
}
// If no for attribute exists, attempt to retrieve the first labellable descendant element
// the list of which is defined here: http://www.w3.org/TR/html5/forms.html#category-label
return labelElement.querySelector('button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea');
};
/**
* On touch end, determine whether to send a click event at once.
*
* @param {Event} event
* @returns {boolean}
*/
FastClick.prototype.onTouchEnd = function(event) {
'use strict';
var forElement, trackingClickStart, targetTagName, scrollParent, touch, targetElement = this.targetElement;
if (!this.trackingClick) {
return true;
}
// Prevent phantom clicks on fast double-tap (issue #36)
if ((event.timeStamp - this.lastClickTime) < 200) {
this.cancelNextClick = true;
return true;
}
// Reset to prevent wrong click cancel on input (issue #156).
this.cancelNextClick = false;
this.lastClickTime = event.timeStamp;
trackingClickStart = this.trackingClickStart;
this.trackingClick = false;
this.trackingClickStart = 0;
// On some iOS devices, the targetElement supplied with the event is invalid if the layer
// is performing a transition or scroll, and has to be re-detected manually. Note that
// for this to function correctly, it must be called *after* the event target is checked!
// See issue #57; also filed as rdar://13048589 .
if (this.deviceIsIOSWithBadTarget) {
touch = event.changedTouches[0];
// In certain cases arguments of elementFromPoint can be negative, so prevent setting targetElement to null
targetElement = document.elementFromPoint(touch.pageX - window.pageXOffset, touch.pageY - window.pageYOffset) || targetElement;
targetElement.fastClickScrollParent = this.targetElement.fastClickScrollParent;
}
targetTagName = targetElement.tagName.toLowerCase();
if (targetTagName === 'label') {
forElement = this.findControl(targetElement);
if (forElement) {
this.focus(targetElement);
if (this.deviceIsAndroid) {
return false;
}
targetElement = forElement;
}
} else if (this.needsFocus(targetElement)) {
// Case 1: If the touch started a while ago (best guess is 100ms based on tests for issue #36) then focus will be triggered anyway. Return early and unset the target element reference so that the subsequent click will be allowed through.
// Case 2: Without this exception for input elements tapped when the document is contained in an iframe, then any inputted text won't be visible even though the value attribute is updated as the user types (issue #37).
if ((event.timeStamp - trackingClickStart) > 100 || (this.deviceIsIOS && window.top !== window && targetTagName === 'input')) {
this.targetElement = null;
return false;
}
this.focus(targetElement);
// Select elements need the event to go through on iOS 4, otherwise the selector menu won't open.
if (!this.deviceIsIOS4 || targetTagName !== 'select') {
this.targetElement = null;
event.preventDefault();
}
return false;
}
if (this.deviceIsIOS && !this.deviceIsIOS4) {
// Don't send a synthetic click event if the target element is contained within a parent layer that was scrolled
// and this tap is being used to stop the scrolling (usually initiated by a fling - issue #42).
scrollParent = targetElement.fastClickScrollParent;
if (scrollParent && scrollParent.fastClickLastScrollTop !== scrollParent.scrollTop) {
return true;
}
}
// Prevent the actual click from going though - unless the target node is marked as requiring
// real clicks or if it is in the whitelist in which case only non-programmatic clicks are permitted.
if (!this.needsClick(targetElement)) {
event.preventDefault();
this.sendClick(targetElement, event);
}
return false;
};
/**
* On touch cancel, stop tracking the click.
*
* @returns {void}
*/
FastClick.prototype.onTouchCancel = function() {
'use strict';
this.trackingClick = false;
this.targetElement = null;
};
/**
* Determine mouse events which should be permitted.
*
* @param {Event} event
* @returns {boolean}
*/
FastClick.prototype.onMouse = function(event) {
'use strict';
// If a target element was never set (because a touch event was never fired) allow the event
if (!this.targetElement) {
return true;
}
if (event.forwardedTouchEvent) {
return true;
}
// Programmatically generated events targeting a specific element should be permitted
if (!event.cancelable) {
return true;
}
// Derive and check the target element to see whether the mouse event needs to be permitted;
// unless explicitly enabled, prevent non-touch click events from triggering actions,
// to prevent ghost/doubleclicks.
if (!this.needsClick(this.targetElement) || this.cancelNextClick) {
// Prevent any user-added listeners declared on FastClick element from being fired.
if (event.stopImmediatePropagation) {
event.stopImmediatePropagation();
} else {
// Part of the hack for browsers that don't support Event#stopImmediatePropagation (e.g. Android 2)
event.propagationStopped = true;
}
// Cancel the event
event.stopPropagation();
event.preventDefault();
return false;
}
// If the mouse event is permitted, return true for the action to go through.
return true;
};
/**
* On actual clicks, determine whether this is a touch-generated click, a click action occurring
* naturally after a delay after a touch (which needs to be cancelled to avoid duplication), or
* an actual click which should be permitted.
*
* @param {Event} event
* @returns {boolean}
*/
FastClick.prototype.onClick = function(event) {
'use strict';
var permitted;
// It's possible for another FastClick-like library delivered with third-party code to fire a click event before FastClick does (issue #44). In that case, set the click-tracking flag back to false and return early. This will cause onTouchEnd to return early.
if (this.trackingClick) {
this.targetElement = null;
this.trackingClick = false;
return true;
}
// Very odd behaviour on iOS (issue #18): if a submit element is present inside a form and the user hits enter in the iOS simulator or clicks the Go button on the pop-up OS keyboard the a kind of 'fake' click event will be triggered with the submit-type input element as the target.
if (event.target.type === 'submit' && event.detail === 0) {
return true;
}
permitted = this.onMouse(event);
// Only unset targetElement if the click is not permitted. This will ensure that the check for !targetElement in onMouse fails and the browser's click doesn't go through.
if (!permitted) {
this.targetElement = null;
}
// If clicks are permitted, return true for the action to go through.
return permitted;
};
/**
* Remove all FastClick's event listeners.
*
* @returns {void}
*/
FastClick.prototype.destroy = function() {
'use strict';
var layer = this.layer;
if (this.deviceIsAndroid) {
layer.removeEventListener('mouseover', this.onMouse, true);
layer.removeEventListener('mousedown', this.onMouse, true);
layer.removeEventListener('mouseup', this.onMouse, true);
}
layer.removeEventListener('click', this.onClick, true);
layer.removeEventListener('touchstart', this.onTouchStart, false);
layer.removeEventListener('touchmove', this.onTouchMove, false);
layer.removeEventListener('touchend', this.onTouchEnd, false);
layer.removeEventListener('touchcancel', this.onTouchCancel, false);
};
/**
* Check whether FastClick is needed.
*
* @param {Element} layer The layer to listen on
*/
FastClick.notNeeded = function(layer) {
'use strict';
var metaViewport;
var chromeVersion;
// Devices that don't support touch don't need FastClick
if (typeof window.ontouchstart === 'undefined') {
return true;
}
// Chrome version - zero for other browsers
chromeVersion = +(/Chrome\/([0-9]+)/.exec(navigator.userAgent) || [,0])[1];
if (chromeVersion) {
if (FastClick.prototype.deviceIsAndroid) {
metaViewport = document.querySelector('meta[name=viewport]');
if (metaViewport) {
// Chrome on Android with user-scalable="no" doesn't need FastClick (issue #89)
if (metaViewport.content.indexOf('user-scalable=no') !== -1) {
return true;
}
// Chrome 32 and above with width=device-width or less don't need FastClick
if (chromeVersion > 31 && window.innerWidth <= window.screen.width) {
return true;
}
}
// Chrome desktop doesn't need FastClick (issue #15)
} else {
return true;
}
}
// IE10 with -ms-touch-action: none, which disables double-tap-to-zoom (issue #97)
if (layer.style.msTouchAction === 'none') {
return true;
}
return false;
};
/**
* Factory method for creating a FastClick object
*
* @param {Element} layer The layer to listen on
*/
FastClick.attach = function(layer) {
'use strict';
return new FastClick(layer);
};
if (typeof define !== 'undefined' && define.amd) {
// AMD. Register as an anonymous module.
define(function() {
'use strict';
return FastClick;
});
} else if (typeof module !== 'undefined' && module.exports) {
module.exports = FastClick.attach;
module.exports.FastClick = FastClick;
} else {
window.FastClick = FastClick;
}

4
js/main.js Normal file
View File

@ -0,0 +1,4 @@
$(document).ready(function() {
});

353
js/metodo.js Normal file
View File

@ -0,0 +1,353 @@
//Variables
var iNumBarras = 5;
var iInterNewBar = 5;
var iContBarPuls = 0;
var iTiemCaidaBarr = 5000;
var iTiemSubirBarr = 500;
var iTiemDesapaCuadro = 2000;
var $botonEmpezar = $('#botonEmpezar');
var sTextReinicio = 'Replay';
var iTiemDelayTutorial = 3000;
var aBarrasOrden = new Array();
var $titulo = $('#titulo');
var $barras = $('.barras');
var $cuadro = $('#cuadro');
var $barra1 = $('#barra1');
var $barra2 = $('#barra2');
var $barra3 = $('#barra3');
var $barra4 = $('#barra4');
var $barra5 = $('#barra5');
var $tutorial = $('#tutorial');
var mostrarTutorial = false;
var bEmpezada = false;
var bJugando = false;
var iNivel = 1;
var iToques = 0;
var iTiem = 0;
var $nivel = $('#nivel');
var $nivelNum = $('#nivel #numero');
var $toques = $('#toques');
var $toquesNum = $('#toques #numeros');
var $tiempo = $('#tiempo');
var $tiempoNum = $('#tiempo #segundos');
var $cartelNivel = $('#cartelNivel');
$cartelNivel.hide();
$nivel.hide();
$toques.hide();
$tiempo.hide();
/* GESTION DE PARTIDA */
/**
* Método que inicia la partida
*/
var iniciarPartida = function() {
console.log('Iniciando');
bEmpezada = true;
generarNivel();
//Quitar titulo y boton de inicio
$titulo.fadeOut(iTiemDesapaCuadro);
$botonEmpezar.fadeOut(iTiemDesapaCuadro, 'linear', function() {
//Muestra el nivel
$cartelNivel.fadeIn(iTiemDesapaCuadro).delay(iTiemDesapaCuadro).fadeOut(iTiemDesapaCuadro, function() {
//Mover barras
$barra3.animate({
height: iAltura
}, iTiemCaidaBarr, 'linear');
//Mostrar carteles de tiempo, toques y nivel
$nivel.fadeIn(iTiemDesapaCuadro);
$toques.fadeIn(iTiemDesapaCuadro);
$tiempo.fadeIn(iTiemDesapaCuadro);
//Mover cuadro
moverCuadro();
//Muestra tutorial
setTimeout('mostrarTutorial()', iTiemDelayTutorial / 2);
//Cambiar posición de botón
$botonEmpezar.css('top', '90px');
bJugando = true;
});
});
}
/**
* Método que reinicia la partida
*/
var reiniciarPartida = function() {
console.log('Reiniciando');
generarNivel();
//Quitar boton
$botonEmpezar.fadeOut(iTiemDesapaCuadro, 'linear', function() {
//Reinicia cuadro
$cuadro.css('left', '-25%');
$cuadro.fadeIn(1);
//Mover cuadro
moverCuadro();
bJugando = true;
//Reinicia barras
$barras.css('height', '0');
$barras.fadeIn(1);
//Mover barras
$barra3.animate({
height: iAltura
}, iTiemCaidaBarr, 'linear');
});
}
/**
* Método para terminar la partida
*/
var finPartida = function() {
console.log('Fin partida');
bJugando = false;
$barras.stop();
//Quitar barras
$barras.fadeOut(iTiemDesapaCuadro);
//Mostrar boton de reinicio
$botonEmpezar.html(sTextReinicio);
$botonEmpezar.fadeIn(iTiemDesapaCuadro);
//Quitar cuadro
$cuadro.stop();
$cuadro.fadeOut(iTiemDesapaCuadro);
$cuadro.stop();
$cuadro.fadeOut(iTiemDesapaCuadro);
$cuadro.stop();
$cuadro.fadeOut(iTiemDesapaCuadro);
$cuadro.stop();
$cuadro.fadeOut(iTiemDesapaCuadro);
$cuadro.stop();
$cuadro.fadeOut(iTiemDesapaCuadro);
}
var generarNivel = function() {
switch(iNivel) {
case 1:
iTiem = 20;
iToques = 15;
iInterNewBar = 5;
break;
case 2:
iTiem = 30;
iToques = 30;
iInterNewBar = 4;
break;
case 3:
iTiem = 30;
iToques = 25;
iInterNewBar = 4;
break;
case 4:
iTiem = 40;
iToques = 40;
iInterNewBar = 2;
break;
case 5:
iTiem = 30;
iToques = 20;
iInterNewBar = 4;
break;
default:
iTiem = 30;
iToques = 25 - iNivel;
iInterNewBar = 1;
break;
}
aBarrasOrden = new Array();
iContBarPuls = 0;
$tiempoNum.html(iTiem);
$nivelNum.html(iNivel);
$toquesNum.html(iToques);
$cartelNivel.html($nivel.html());
}
var gestionarTiempo = function() {
if(iTiem > 0 && bJugando) {
iTiem--;
$tiempoNum.html(iTiem);
} else if(iTiem == 0 && bJugando) {
cambiarNivel();
}
}
setInterval('gestionarTiempo()', 1000);
var cambiarNivel = function() {
iNivel++;
console.log('Cambiando a nivel' + iNivel);
bJugando = false;
$barras.stop();
//Quitar barras
$barras.fadeOut(iTiemDesapaCuadro);
//Quitar cuadro
$cuadro.stop();
$cuadro.fadeOut(iTiemDesapaCuadro);
$cuadro.stop();
$cuadro.fadeOut(iTiemDesapaCuadro);
$cuadro.stop();
$cuadro.fadeOut(iTiemDesapaCuadro);
$cuadro.stop();
$cuadro.fadeOut(iTiemDesapaCuadro);
$cuadro.stop();
$cuadro.fadeOut(iTiemDesapaCuadro);
//Mostrar cartel
$nivelNum.html(iNivel);
$cartelNivel.html($nivel.html());
$cartelNivel.fadeIn(iTiemDesapaCuadro).delay(iTiemDesapaCuadro).fadeOut(iTiemDesapaCuadro, function() {
//Empezar partida
reiniciarPartida();
});
}
/* GESTION DE BARRAS */
/**
* Método que devuelve entre 1 y iLim
* @return {Int}
*/
var numeroAlAzar = function(iniLim) {
return Math.floor((Math.random() * iniLim) + 1);
}
/**
* Método que mueve las barras según toca
*/
var moverOtrasBarras = function() {
//Genera posiciones aleatorias
if(aBarrasOrden.length < iNumBarras) {
var iAzar = 0;
var bMeter = true;
aBarrasOrden.push(3);
while(aBarrasOrden.length < iNumBarras) {
iAzar = numeroAlAzar(iNumBarras);
if(iAzar != 3 && aBarrasOrden.indexOf(iAzar) == -1) {
aBarrasOrden.push(iAzar);
}
}
}
//Cuenta las veces que se pulsa
iContBarPuls++;
//Inicia nueva barra
if((iContBarPuls % iInterNewBar) == 0
&& iContBarPuls / iInterNewBar < aBarrasOrden.length) {
var iPosSig = iContBarPuls / iInterNewBar;
reiniciarBarra(eval('$barra' + aBarrasOrden[iPosSig]));
}
}
/**
* Método que gestiona el toque de la barra
*/
var gestionarBarra = function($inBarra) {
if(iToques > 0) {
reiniciarBarra($inBarra);
iToques--;
$toquesNum.html(iToques);
if(mostrarTutorial) {
ocultarTutorial();
}
moverOtrasBarras();
} else {
finPartida();
}
}
/**
* Método que reinicia la posición de la barra
* @param {JQuery} $inBarra
*/
var reiniciarBarra = function($inBarra) {
$inBarra.stop();
$inBarra.animate({
height: 0
}, iTiemSubirBarr, 'linear', function() {
$inBarra.animate({
height: iAltura
}, iTiemCaidaBarr, 'linear');
});
}
/* GESTION DE CUADRO */
/**
* Método que mueve el cuadro
*/
var moverCuadro = function() {
$cuadro.animate({
left: iAnchura
}, iTiemCaidaBarr, 'linear', function() {
$cuadro.css('left', '-25%');
moverCuadro();
});
}
/* GESTION DE TUTORIAL */
/**
* Método que muestra el tutorial
*/
var mostrarTutorial = function() {
if(typeof(Storage) !== 'undefined') {
if(localStorage.getItem('tutorial') == null) {
localStorage.setItem('tutorial', '1');
$barras.stop();
$cuadro.stop();
$tutorial.css('visibility', 'visible');
$barra3.append('<div class="pulsar" id="pulsarTutorial"></div>');
mostrarTutorial = true;
}
}
}
/**
* Método que oculta el tutorial
* @return {[type]} [description]
*/
var ocultarTutorial = function() {
$tutorial.css('visibility', 'hidden');
$barra3.html('');
moverCuadro();
mostrarTutorial = false;
}
/* COLISIONES */
/**
* Método que comprueba el final del juego
*/
var comprobarFinJuego = function() {
if((collision($barra1, $cuadro)
|| collision($barra2, $cuadro)
|| collision($barra3, $cuadro)
|| collision($barra4, $cuadro)
|| collision($barra5, $cuadro))
&& bJugando) {
finPartida();
}
}
setInterval('comprobarFinJuego()', 50);
/**
* Método que comprueba si ha colisionado dos divs
* @param {JQuery} $div1
* @param {JQuery} $div2
* @return {boolean}
*/
function collision($div1, $div2) {
var x1 = $div1.offset().left;
var y1 = $div1.offset().top;
var h1 = $div1.outerHeight(true);
var w1 = $div1.outerWidth(true);
var b1 = y1 + h1;
var r1 = x1 + w1;
var x2 = $div2.offset().left;
var y2 = $div2.offset().top;
var h2 = $div2.outerHeight(true);
var w2 = $div2.outerWidth(true);
var b2 = y2 + h2;
var r2 = x2 + w2;
if (b1 < y2 || y1 > b2 || r1 < x2 || x1 > r2) return false;
return true;
}

4
js/vendor/jquery-1.11.0.min.js vendored Normal file

File diff suppressed because one or more lines are too long

4
js/vendor/modernizr-2.6.2.min.js vendored Normal file

File diff suppressed because one or more lines are too long

9
js/vista.js Normal file
View File

@ -0,0 +1,9 @@
//Define altura
var iAltura = $(window).height();
var iAnchura = $(window).width();
$('#content').height(iAltura);
//Tamanyo de cuadro
var $cuadro = $('#cuadro');
$cuadro.height($cuadro.width());