Merge branch 'android-resource-adapters' into android-settings-ui-rework
|
|
@ -12,35 +12,48 @@ android {
|
|||
minSdkVersion 16
|
||||
targetSdkVersion 28
|
||||
|
||||
//dumpProperties(project.ext) // Use this to dump all external properties for debugging TeamCity integration
|
||||
//println "===DUMPING PROPERTIES==="
|
||||
//dumpProperties(project) // Use this to dump all external properties for debugging TeamCity integration
|
||||
//println "===END DUMP==="
|
||||
|
||||
if (project.hasProperty("services_json_file")) {
|
||||
String env_services_json_file = System.getenv('services_json_file')
|
||||
|
||||
if (env_services_json_file != null) {
|
||||
env_services_json_file = String.valueOf(env_services_json_file)
|
||||
println "Copying production google-services.json and using at kMAPro/"
|
||||
copy {
|
||||
from project.ext.services_json_file
|
||||
from env_services_json_file
|
||||
include '*.json'
|
||||
into './'
|
||||
}
|
||||
}
|
||||
|
||||
if (project.hasProperty("build.number")) {
|
||||
versionCode project.ext['build_counter'] as Integer
|
||||
// Because TeamCity does not bubble build.counter into system properties...
|
||||
versionName "${project.ext['build.number']}"
|
||||
String env_build_number = System.getenv("BUILD_NUMBER") //assigned by TeamCity, so all caps
|
||||
String env_build_counter = System.getenv("build_counter")
|
||||
if (env_build_number != null) {
|
||||
println "Using build number $env_build_number and counter $env_build_counter from environment"
|
||||
versionCode env_build_counter as Integer
|
||||
versionName env_build_number
|
||||
} else {
|
||||
String majorMinorVersion = file('$projectDir/../../../../resources/VERSION.md').text.trim()
|
||||
versionCode 100
|
||||
versionName majorMinorVersion + '.0.0'
|
||||
println "Using build $majorMinorVersion from project VERSION.md"
|
||||
}
|
||||
}
|
||||
|
||||
if (project.hasProperty("release_store_file")) {
|
||||
String env_release_store_file = System.getenv("release_store_file")
|
||||
String env_release_store_password = System.getenv("release_store_password")
|
||||
String env_release_key_alias = System.getenv("release_key_alias")
|
||||
String env_release_key_password = System.getenv("release_key_password")
|
||||
if (env_release_store_file != null) {
|
||||
signingConfigs {
|
||||
release {
|
||||
storeFile file(project.ext.release_store_file)
|
||||
storePassword project.ext.release_store_password
|
||||
keyAlias project.ext.release_key_alias
|
||||
keyPassword project.ext.release_key_password
|
||||
println "Using signing from environment"
|
||||
storeFile file(String.valueOf(env_release_store_file))
|
||||
storePassword env_release_store_password
|
||||
keyAlias env_release_key_alias
|
||||
keyPassword env_release_key_password
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -52,7 +65,7 @@ android {
|
|||
release {
|
||||
minifyEnabled false
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
|
||||
if (project.hasProperty("release_store_file")) {
|
||||
if (env_release_store_file != null) {
|
||||
signingConfig signingConfigs.release
|
||||
}
|
||||
}
|
||||
|
|
@ -65,11 +78,12 @@ android {
|
|||
}
|
||||
}
|
||||
|
||||
if (project.hasProperty("keys_json_file")) {
|
||||
String env_keys_json_file = System.getenv("keys_json_file")
|
||||
if (env_keys_json_file != null) {
|
||||
apply plugin: 'com.github.triplet.play'
|
||||
|
||||
play {
|
||||
serviceAccountCredentials = file(project.ext.keys_json_file)
|
||||
serviceAccountCredentials = file(String.valueOf(env_keys_json_file))
|
||||
|
||||
// Deactivate lower conflicting version APKs
|
||||
resolutionStrategy = "ignore"
|
||||
|
|
@ -112,8 +126,7 @@ dependencies {
|
|||
implementation 'androidx.preference:preference:1.1.0-alpha04'
|
||||
}
|
||||
|
||||
/*
|
||||
def void dumpProperties(it){
|
||||
/*def void dumpProperties(it){
|
||||
//println "Examining $it.name:"
|
||||
//println "Meta:"
|
||||
//println it.metaClass.metaMethods*.name.sort().unique()
|
||||
|
|
@ -124,7 +137,6 @@ def void dumpProperties(it){
|
|||
println "Properties:"
|
||||
println it.properties.entrySet()*.toString()
|
||||
.sort().toString().replaceAll(", ","\n")
|
||||
}
|
||||
*/
|
||||
}*/
|
||||
|
||||
apply plugin: 'com.google.gms.google-services'
|
||||
|
|
|
|||
|
|
@ -8,13 +8,17 @@ android {
|
|||
minSdkVersion 16
|
||||
targetSdkVersion 28
|
||||
|
||||
if (project.hasProperty("build.number")) {
|
||||
versionCode project.ext['build_counter'] as Integer // Because TeamCity does not bubble build.counter into system properties...
|
||||
versionName "${project.ext['build.number']}"
|
||||
String env_build_number = System.getenv("BUILD_NUMBER") //assigned by TeamCity, so all caps
|
||||
String env_build_counter = System.getenv("build_counter")
|
||||
if (env_build_number != null) {
|
||||
println "Using build number $env_build_number and counter $env_build_counter from environment"
|
||||
versionCode env_build_counter as Integer
|
||||
versionName env_build_number
|
||||
} else {
|
||||
String majorMinorVersion = file('$projectDir/../../../../resources/VERSION.md').text.trim()
|
||||
versionCode 100
|
||||
versionName majorMinorVersion + '.0.0'
|
||||
println "Using build $majorMinorVersion from project VERSION.md"
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -14,18 +14,34 @@ die () {
|
|||
SHLVL=0
|
||||
|
||||
echo Build KMEA and KMAPro:
|
||||
|
||||
# Building Keyman Engine for Android
|
||||
|
||||
cd KMEA
|
||||
./build.sh $@
|
||||
./build.sh "$@"
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
die "ERROR: KMEA/build.sh failed"
|
||||
fi
|
||||
|
||||
# Building Keyman for Android
|
||||
|
||||
cd ../KMAPro
|
||||
./build.sh $@
|
||||
./build.sh "$@"
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
die "ERROR: KMAPro/build.sh failed"
|
||||
fi
|
||||
|
||||
cd ../
|
||||
|
||||
# Building OEM apps
|
||||
|
||||
if [ ! -z "$RELEASE_OEM" ]; then
|
||||
pushd ../oem/firstvoices/android
|
||||
./build.sh -lib-nobuild "$@"
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
die "ERROR: oem/firstvoices/android/build.sh failed"
|
||||
fi
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -111,7 +111,7 @@ namespace com.keyman.text.prediction {
|
|||
});
|
||||
}
|
||||
|
||||
predict(transform: Transform, context: Context): Promise<Suggestion[]> {
|
||||
predict(transform: Transform | Distribution<Transform>, context: Context): Promise<Suggestion[]> {
|
||||
let token = this._nextToken++;
|
||||
return new Promise((resolve, reject) => {
|
||||
this._promises.make(token, resolve, reject);
|
||||
|
|
|
|||
20
common/predictive-text/message.d.ts
vendored
|
|
@ -179,6 +179,26 @@ interface Transform {
|
|||
deleteRight?: number;
|
||||
}
|
||||
|
||||
/**
|
||||
* Represents members of a probability distribution over potential outputs
|
||||
* from ambiguous text sequences. Designed for use with fat-finger correction
|
||||
* and similar typing ambiguities.
|
||||
*/
|
||||
interface ProbabilityMass<T> {
|
||||
/**
|
||||
* An individual sample from a Distribution over the same type.
|
||||
*/
|
||||
sample: T;
|
||||
|
||||
/**
|
||||
* The probability mass for this member of the distribution,
|
||||
* calculated devoid of any language-modeling influences.
|
||||
*/
|
||||
p: number;
|
||||
}
|
||||
|
||||
type Distribution<T> = ProbabilityMass<T>[];
|
||||
|
||||
/**
|
||||
* The text and environment surrounding the insertion point (text cursor).
|
||||
*/
|
||||
|
|
|
|||
394
common/predictive-text/package-lock.json
generated
|
|
@ -252,22 +252,6 @@
|
|||
"callsite": "1.0.0"
|
||||
}
|
||||
},
|
||||
"big-integer": {
|
||||
"version": "1.6.40",
|
||||
"resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.40.tgz",
|
||||
"integrity": "sha512-CjhtJp0BViLzP1ZkEnoywjgtFQXS2pomKjAJtIISTCnuHILkLcAXLdFLG/nxsHc4s9kJfc+82Xpg8WNyhfACzQ==",
|
||||
"dev": true
|
||||
},
|
||||
"binary": {
|
||||
"version": "0.3.0",
|
||||
"resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz",
|
||||
"integrity": "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"buffers": "~0.1.1",
|
||||
"chainsaw": "~0.1.0"
|
||||
}
|
||||
},
|
||||
"binary-extensions": {
|
||||
"version": "1.12.0",
|
||||
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.12.0.tgz",
|
||||
|
|
@ -361,22 +345,45 @@
|
|||
"dev": true
|
||||
},
|
||||
"browserstack": {
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.5.1.tgz",
|
||||
"integrity": "sha512-O8VMT64P9NOLhuIoD4YngyxBURefaSdR4QdhG8l6HZ9VxtU7jc3m6jLufFwKA5gaf7fetfB2TnRJnMxyob+heg==",
|
||||
"version": "1.5.2",
|
||||
"resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.5.2.tgz",
|
||||
"integrity": "sha512-+6AFt9HzhKykcPF79W6yjEUJcdvZOV0lIXdkORXMJftGrDl0OKWqRF4GHqpDNkxiceDT/uB7Fb/aDwktvXX7dg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"https-proxy-agent": "^2.2.1"
|
||||
}
|
||||
},
|
||||
"browserstacktunnel-wrapper": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/browserstacktunnel-wrapper/-/browserstacktunnel-wrapper-2.0.4.tgz",
|
||||
"integrity": "sha512-GCV599FUUxNOCFl3WgPnfc5dcqq9XTmMXoxWpqkvmk0R9TOIoqmjENNU6LY6DtgIL6WfBVbg/jmWtnM5K6UYSg==",
|
||||
"browserstack-local": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/browserstack-local/-/browserstack-local-1.4.0.tgz",
|
||||
"integrity": "sha512-BUJWxIsJkJxqfTPJIvGWTsf+IYSqSFUeFNW9tnuyTG7va/0LkXLhIi/ErFGDle1urQkol48HlQUXj4QrliXFpg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"https-proxy-agent": "^2.2.1",
|
||||
"unzipper": "^0.9.3"
|
||||
"is-running": "^2.0.0",
|
||||
"ps-tree": "=1.1.1",
|
||||
"sinon": "^1.17.6",
|
||||
"temp-fs": "^0.9.9"
|
||||
},
|
||||
"dependencies": {
|
||||
"lolex": {
|
||||
"version": "1.3.2",
|
||||
"resolved": "https://registry.npmjs.org/lolex/-/lolex-1.3.2.tgz",
|
||||
"integrity": "sha1-fD2mL/yzDw9agKJWbKJORdigHzE=",
|
||||
"dev": true
|
||||
},
|
||||
"sinon": {
|
||||
"version": "1.17.7",
|
||||
"resolved": "https://registry.npmjs.org/sinon/-/sinon-1.17.7.tgz",
|
||||
"integrity": "sha1-RUKk9JugxFwF6y6d2dID4rjv4L8=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"formatio": "1.1.1",
|
||||
"lolex": "1.3.2",
|
||||
"samsam": "1.1.2",
|
||||
"util": ">=0.10.3 <1"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"buffer-alloc": {
|
||||
|
|
@ -407,18 +414,6 @@
|
|||
"integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
|
||||
"dev": true
|
||||
},
|
||||
"buffer-indexof-polyfill": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.1.tgz",
|
||||
"integrity": "sha1-qfuAbOgUXVQoUQznLyeLs2OmOL8=",
|
||||
"dev": true
|
||||
},
|
||||
"buffers": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz",
|
||||
"integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=",
|
||||
"dev": true
|
||||
},
|
||||
"bytes": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
|
||||
|
|
@ -462,15 +457,6 @@
|
|||
"type-detect": "^4.0.5"
|
||||
}
|
||||
},
|
||||
"chainsaw": {
|
||||
"version": "0.1.0",
|
||||
"resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz",
|
||||
"integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"traverse": ">=0.3.0 <0.4"
|
||||
}
|
||||
},
|
||||
"check-error": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
|
||||
|
|
@ -686,6 +672,15 @@
|
|||
"type-detect": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"define-properties": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
|
||||
"integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"object-keys": "^1.0.12"
|
||||
}
|
||||
},
|
||||
"define-property": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
|
||||
|
|
@ -757,14 +752,11 @@
|
|||
"void-elements": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"duplexer2": {
|
||||
"version": "0.1.4",
|
||||
"resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
|
||||
"integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"readable-stream": "^2.0.2"
|
||||
}
|
||||
"duplexer": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
|
||||
"integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=",
|
||||
"dev": true
|
||||
},
|
||||
"edge-launcher": {
|
||||
"version": "1.2.2",
|
||||
|
|
@ -836,10 +828,35 @@
|
|||
"integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=",
|
||||
"dev": true
|
||||
},
|
||||
"es-abstract": {
|
||||
"version": "1.13.0",
|
||||
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz",
|
||||
"integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"es-to-primitive": "^1.2.0",
|
||||
"function-bind": "^1.1.1",
|
||||
"has": "^1.0.3",
|
||||
"is-callable": "^1.1.4",
|
||||
"is-regex": "^1.0.4",
|
||||
"object-keys": "^1.0.12"
|
||||
}
|
||||
},
|
||||
"es-to-primitive": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz",
|
||||
"integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"is-callable": "^1.1.4",
|
||||
"is-date-object": "^1.0.1",
|
||||
"is-symbol": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"es6-promise": {
|
||||
"version": "4.2.5",
|
||||
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz",
|
||||
"integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==",
|
||||
"version": "4.2.6",
|
||||
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.6.tgz",
|
||||
"integrity": "sha512-aRVgGdnmW2OiySVPUC9e6m+plolMAJKjZnQlCwNSuK5yQ0JN61DZSO1X1Ufd1foqWRAlig0rhduTCHe7sVtK5Q==",
|
||||
"dev": true
|
||||
},
|
||||
"es6-promisify": {
|
||||
|
|
@ -863,6 +880,21 @@
|
|||
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
|
||||
"dev": true
|
||||
},
|
||||
"event-stream": {
|
||||
"version": "3.3.4",
|
||||
"resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz",
|
||||
"integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"duplexer": "~0.1.1",
|
||||
"from": "~0",
|
||||
"map-stream": "~0.1.0",
|
||||
"pause-stream": "0.0.11",
|
||||
"split": "0.3",
|
||||
"stream-combiner": "~0.0.4",
|
||||
"through": "~2.3.1"
|
||||
}
|
||||
},
|
||||
"eventemitter3": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz",
|
||||
|
|
@ -1133,6 +1165,15 @@
|
|||
"integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
|
||||
"dev": true
|
||||
},
|
||||
"formatio": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/formatio/-/formatio-1.1.1.tgz",
|
||||
"integrity": "sha1-XtPM1jZVEJc4NGXZlhmRAOhhYek=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"samsam": "~1.1"
|
||||
}
|
||||
},
|
||||
"fragment-cache": {
|
||||
"version": "0.2.1",
|
||||
"resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
|
||||
|
|
@ -1142,6 +1183,12 @@
|
|||
"map-cache": "^0.2.2"
|
||||
}
|
||||
},
|
||||
"from": {
|
||||
"version": "0.1.7",
|
||||
"resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz",
|
||||
"integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=",
|
||||
"dev": true
|
||||
},
|
||||
"fs-access": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "http://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz",
|
||||
|
|
@ -1705,17 +1752,11 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"fstream": {
|
||||
"version": "1.0.11",
|
||||
"resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz",
|
||||
"integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"graceful-fs": "^4.1.2",
|
||||
"inherits": "~2.0.0",
|
||||
"mkdirp": ">=0.5 0",
|
||||
"rimraf": "2"
|
||||
}
|
||||
"function-bind": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
|
||||
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
|
||||
"dev": true
|
||||
},
|
||||
"get-func-name": {
|
||||
"version": "2.0.0",
|
||||
|
|
@ -1776,6 +1817,15 @@
|
|||
"integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
|
||||
"dev": true
|
||||
},
|
||||
"has": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
|
||||
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"function-bind": "^1.1.1"
|
||||
}
|
||||
},
|
||||
"has-binary2": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz",
|
||||
|
|
@ -1805,6 +1855,12 @@
|
|||
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
|
||||
"dev": true
|
||||
},
|
||||
"has-symbols": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
|
||||
"integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
|
||||
"dev": true
|
||||
},
|
||||
"has-value": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
|
||||
|
|
@ -1927,6 +1983,12 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"is-arguments": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz",
|
||||
"integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==",
|
||||
"dev": true
|
||||
},
|
||||
"is-binary-path": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
|
||||
|
|
@ -1942,6 +2004,12 @@
|
|||
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
|
||||
"dev": true
|
||||
},
|
||||
"is-callable": {
|
||||
"version": "1.1.4",
|
||||
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
|
||||
"integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
|
||||
"dev": true
|
||||
},
|
||||
"is-data-descriptor": {
|
||||
"version": "0.1.4",
|
||||
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
|
||||
|
|
@ -1962,6 +2030,12 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"is-date-object": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
|
||||
"integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
|
||||
"dev": true
|
||||
},
|
||||
"is-descriptor": {
|
||||
"version": "0.1.6",
|
||||
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
|
||||
|
|
@ -1993,6 +2067,12 @@
|
|||
"integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
|
||||
"dev": true
|
||||
},
|
||||
"is-generator-function": {
|
||||
"version": "1.0.7",
|
||||
"resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.7.tgz",
|
||||
"integrity": "sha512-YZc5EwyO4f2kWCax7oegfuSr9mFz1ZvieNYBEjmukLxgXfBUbxAWGVF7GZf0zidYtoBl3WvC07YK0wT76a+Rtw==",
|
||||
"dev": true
|
||||
},
|
||||
"is-glob": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
|
||||
|
|
@ -2031,6 +2111,30 @@
|
|||
"isobject": "^3.0.1"
|
||||
}
|
||||
},
|
||||
"is-regex": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
|
||||
"integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"has": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"is-running": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/is-running/-/is-running-2.1.0.tgz",
|
||||
"integrity": "sha1-MKc/9cw4VOT8JUkICen1q/jeCeA=",
|
||||
"dev": true
|
||||
},
|
||||
"is-symbol": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
|
||||
"integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"has-symbols": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"is-windows": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
|
||||
|
|
@ -2107,13 +2211,13 @@
|
|||
}
|
||||
},
|
||||
"karma-browserstack-launcher": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/karma-browserstack-launcher/-/karma-browserstack-launcher-1.4.0.tgz",
|
||||
"integrity": "sha512-bUQK84U+euDfOUfEjcF4IareySMOBNRLrrl9q6cttIe8f011Ir6olLITTYMOJDcGY58wiFIdhPHSPd9Pi6+NfQ==",
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/karma-browserstack-launcher/-/karma-browserstack-launcher-1.5.1.tgz",
|
||||
"integrity": "sha512-zt9Ukow5A9WZHZXCFVO/h5kRsAdaZYeMNJK9Uan8v42amQXt3B/DZVxl24NCcAIxufKjW13UWd9iJ9knG9OCYw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"browserstack": "~1.5.1",
|
||||
"browserstacktunnel-wrapper": "~2.0.2",
|
||||
"browserstack-local": "^1.3.7",
|
||||
"q": "~1.5.0"
|
||||
}
|
||||
},
|
||||
|
|
@ -2258,12 +2362,6 @@
|
|||
"integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
|
||||
"dev": true
|
||||
},
|
||||
"listenercount": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz",
|
||||
"integrity": "sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc=",
|
||||
"dev": true
|
||||
},
|
||||
"lodash": {
|
||||
"version": "4.17.11",
|
||||
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
|
||||
|
|
@ -2354,6 +2452,12 @@
|
|||
"integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
|
||||
"dev": true
|
||||
},
|
||||
"map-stream": {
|
||||
"version": "0.1.0",
|
||||
"resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz",
|
||||
"integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=",
|
||||
"dev": true
|
||||
},
|
||||
"map-visit": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
|
||||
|
|
@ -2616,6 +2720,12 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"object-keys": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
|
||||
"integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
|
||||
"dev": true
|
||||
},
|
||||
"object-visit": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
|
||||
|
|
@ -2625,6 +2735,18 @@
|
|||
"isobject": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"object.entries": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.0.tgz",
|
||||
"integrity": "sha512-l+H6EQ8qzGRxbkHOd5I/aHRhHDKoQXQ8g0BYt4uSweQU1/J6dZUOyWh9a2Vky35YCKjzmgxOzta2hH6kf9HuXA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"define-properties": "^1.1.3",
|
||||
"es-abstract": "^1.12.0",
|
||||
"function-bind": "^1.1.1",
|
||||
"has": "^1.0.3"
|
||||
}
|
||||
},
|
||||
"object.pick": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
|
||||
|
|
@ -2733,6 +2855,15 @@
|
|||
"integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=",
|
||||
"dev": true
|
||||
},
|
||||
"pause-stream": {
|
||||
"version": "0.0.11",
|
||||
"resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz",
|
||||
"integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"through": "~2.3"
|
||||
}
|
||||
},
|
||||
"posix-character-classes": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
|
||||
|
|
@ -2750,6 +2881,15 @@
|
|||
"resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.1.0.tgz",
|
||||
"integrity": "sha512-OzSf6gcCUQ01byV4BgwyUCswlaQQ6gzXc23aLQWhicvfX9kfsUiUhgt3CCQej8jDnl8/PhGF31JdHX2/MzF3WA=="
|
||||
},
|
||||
"ps-tree": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.1.1.tgz",
|
||||
"integrity": "sha512-kef7fYYSKVqQffmzTMsVcUD1ObNJMp8sNSmHGlGKsZQyL/ht9MZKk86u0Rd1NhpTOAuhqwKCLLpktwkqz+MF8A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"event-stream": "=3.3.4"
|
||||
}
|
||||
},
|
||||
"pseudomap": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
|
||||
|
|
@ -2900,6 +3040,12 @@
|
|||
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
|
||||
"dev": true
|
||||
},
|
||||
"samsam": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/samsam/-/samsam-1.1.2.tgz",
|
||||
"integrity": "sha1-vsEf3IOp/aBjQBIQ5AF2wwJNFWc=",
|
||||
"dev": true
|
||||
},
|
||||
"set-value": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
|
||||
|
|
@ -2923,12 +3069,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"setimmediate": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
|
||||
"integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
|
||||
"dev": true
|
||||
},
|
||||
"setprototypeof": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
|
||||
|
|
@ -3189,6 +3329,15 @@
|
|||
"integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
|
||||
"dev": true
|
||||
},
|
||||
"split": {
|
||||
"version": "0.3.3",
|
||||
"resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz",
|
||||
"integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"through": "2"
|
||||
}
|
||||
},
|
||||
"split-string": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
|
||||
|
|
@ -3225,6 +3374,15 @@
|
|||
"integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
|
||||
"dev": true
|
||||
},
|
||||
"stream-combiner": {
|
||||
"version": "0.0.4",
|
||||
"resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz",
|
||||
"integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"duplexer": "~0.1.1"
|
||||
}
|
||||
},
|
||||
"streamroller": {
|
||||
"version": "0.7.0",
|
||||
"resolved": "https://registry.npmjs.org/streamroller/-/streamroller-0.7.0.tgz",
|
||||
|
|
@ -3255,6 +3413,32 @@
|
|||
"has-flag": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"temp-fs": {
|
||||
"version": "0.9.9",
|
||||
"resolved": "https://registry.npmjs.org/temp-fs/-/temp-fs-0.9.9.tgz",
|
||||
"integrity": "sha1-gHFzBDeHByDpQxUy/igUNk+IA9c=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"rimraf": "~2.5.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"rimraf": {
|
||||
"version": "2.5.4",
|
||||
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz",
|
||||
"integrity": "sha1-loAAk8vxoMhr2VtGJUZ1NcKd+gQ=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"glob": "^7.0.5"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"through": {
|
||||
"version": "2.3.8",
|
||||
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
|
||||
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
|
||||
"dev": true
|
||||
},
|
||||
"tmp": {
|
||||
"version": "0.0.33",
|
||||
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
|
||||
|
|
@ -3312,12 +3496,6 @@
|
|||
"repeat-string": "^1.6.1"
|
||||
}
|
||||
},
|
||||
"traverse": {
|
||||
"version": "0.3.9",
|
||||
"resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz",
|
||||
"integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=",
|
||||
"dev": true
|
||||
},
|
||||
"ts-node": {
|
||||
"version": "7.0.1",
|
||||
"resolved": "https://registry.npmjs.org/ts-node/-/ts-node-7.0.1.tgz",
|
||||
|
|
@ -3451,31 +3629,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"unzipper": {
|
||||
"version": "0.9.7",
|
||||
"resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.9.7.tgz",
|
||||
"integrity": "sha512-icFtME1RD648v+cjfcUWoky4bHbMTi8nk06nGxH77EPYyEeKaTgT3nRHM/dQ3znGXLi3+OlhYo86zQzNBRdNhw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"big-integer": "^1.6.17",
|
||||
"binary": "~0.3.0",
|
||||
"bluebird": "~3.4.1",
|
||||
"buffer-indexof-polyfill": "~1.0.0",
|
||||
"duplexer2": "~0.1.4",
|
||||
"fstream": "~1.0.10",
|
||||
"listenercount": "~1.0.1",
|
||||
"readable-stream": "~2.3.6",
|
||||
"setimmediate": "~1.0.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"bluebird": {
|
||||
"version": "3.4.7",
|
||||
"resolved": "http://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz",
|
||||
"integrity": "sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM=",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"upath": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz",
|
||||
|
|
@ -3504,6 +3657,19 @@
|
|||
"tmp": "0.0.x"
|
||||
}
|
||||
},
|
||||
"util": {
|
||||
"version": "0.12.0",
|
||||
"resolved": "https://registry.npmjs.org/util/-/util-0.12.0.tgz",
|
||||
"integrity": "sha512-pPSOFl7VLhZ7LO/SFABPraZEEurkJUWSMn3MuA/r3WQZc+Z1fqou2JqLSOZbCLl73EUIxuUVX8X4jkX2vfJeAA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"inherits": "2.0.3",
|
||||
"is-arguments": "^1.0.4",
|
||||
"is-generator-function": "^1.0.7",
|
||||
"object.entries": "^1.1.0",
|
||||
"safe-buffer": "^5.1.2"
|
||||
}
|
||||
},
|
||||
"util-deprecate": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@
|
|||
"@types/node": "^10.12.11",
|
||||
"chai": "^4.2.0",
|
||||
"karma": "^3.1.3",
|
||||
"karma-browserstack-launcher": "^1.4.0",
|
||||
"karma-browserstack-launcher": "^1.5.1",
|
||||
"karma-chai": "^0.1.0",
|
||||
"karma-chrome-launcher": "^2.2.0",
|
||||
"karma-edge-launcher": "^0.4.2",
|
||||
|
|
|
|||
|
|
@ -0,0 +1,34 @@
|
|||
/*
|
||||
* Integration tests for the model compositor with the trie model.
|
||||
*/
|
||||
|
||||
var assert = require('chai').assert;
|
||||
var TrieModel = require('../../build/intermediate').models.TrieModel;
|
||||
var ModelCompositor = require('../../build/intermediate').ModelCompositor;
|
||||
|
||||
describe('ModelCompositor', function() {
|
||||
it('should compose suggestions from a fat-fingered keypress', function () {
|
||||
var model = new TrieModel(
|
||||
jsonFixture('tries/english-1000')
|
||||
);
|
||||
var composite = new ModelCompositor(model);
|
||||
// Pretend to fat finger "the" as "thr"
|
||||
var the = { sample: { insert: 'r', deleteLeft: 0}, p: 0.45 };
|
||||
var thr = { sample: { insert: 'e', deleteLeft: 0}, p: 0.55 };
|
||||
var suggestions = composite.predict([thr, the], {
|
||||
left: 'Th', startOfBuffer: false, endOfBuffer: true,
|
||||
});
|
||||
|
||||
// Get the top suggest for 'the' and 'thr*'.
|
||||
var theSuggestion = suggestions.filter(function (s) { return s.displayAs === 'the'; })[0];
|
||||
var thrSuggestion = suggestions.filter(function (s) { return s.displayAs.startsWith('thr'); })[0];
|
||||
|
||||
// Sanity check: do we have actual real-valued probabilities?
|
||||
assert.isAbove(thrSuggestion.p, 0.0);
|
||||
assert.isBelow(thrSuggestion.p, 1.0);
|
||||
assert.isAbove(theSuggestion.p, 0.0);
|
||||
assert.isBelow(theSuggestion.p, 1.0);
|
||||
// 'the' should be the intended the result here.
|
||||
assert.isAbove(theSuggestion.p, thrSuggestion.p);
|
||||
});
|
||||
});
|
||||
|
|
@ -60,7 +60,9 @@ describe('LMLayerWorker dummy model', function() {
|
|||
left: "I'm a little ",
|
||||
startOfBuffer: true,
|
||||
endOfBuffer: true,
|
||||
}, expectedSuggestions);
|
||||
}, expectedSuggestions).map(function(value) {
|
||||
return value.sample;
|
||||
});
|
||||
assert.deepEqual(suggestions, expectedSuggestions);
|
||||
});
|
||||
|
||||
|
|
@ -77,13 +79,13 @@ describe('LMLayerWorker dummy model', function() {
|
|||
|
||||
// The dummy model should give suggestions in order,
|
||||
// regardless of the provided transform and context.
|
||||
assert.deepEqual(model.predict(zeroTransform(), emptyContext()),
|
||||
assert.deepEqual(model.predict(zeroTransform(), emptyContext()).map(function(value) { return value.sample }),
|
||||
futureSuggestions[0]);
|
||||
assert.deepEqual(model.predict(zeroTransform(), emptyContext()),
|
||||
assert.deepEqual(model.predict(zeroTransform(), emptyContext()).map(function(value) { return value.sample }),
|
||||
futureSuggestions[1]);
|
||||
assert.deepEqual(model.predict(zeroTransform(), emptyContext()),
|
||||
assert.deepEqual(model.predict(zeroTransform(), emptyContext()).map(function(value) { return value.sample }),
|
||||
futureSuggestions[2]);
|
||||
assert.deepEqual(model.predict(zeroTransform(), emptyContext()),
|
||||
assert.deepEqual(model.predict(zeroTransform(), emptyContext()).map(function(value) { return value.sample }),
|
||||
futureSuggestions[3]);
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ describe('LMLayerWorker trie model for word lists', function() {
|
|||
var suggestions = model.predict({
|
||||
insert: 't',
|
||||
deleteLeft: 0,
|
||||
}, emptyContext());
|
||||
}, emptyContext()).map(getSample);
|
||||
assert.isAtLeast(suggestions.length, MIN_SUGGESTIONS);
|
||||
|
||||
// Ensure all of the suggestions actually start with 't'
|
||||
|
|
@ -54,7 +54,7 @@ describe('LMLayerWorker trie model for word lists', function() {
|
|||
var suggestions = model.predict({
|
||||
insert: insertedLetter,
|
||||
deleteLeft: 0,
|
||||
}, context);
|
||||
}, context).map(function(value) { return value.sample });
|
||||
assert.isAtLeast(suggestions.length, MIN_SUGGESTIONS);
|
||||
|
||||
// Ensure all of the suggestions actually start with 'th'
|
||||
|
|
@ -77,7 +77,7 @@ describe('LMLayerWorker trie model for word lists', function() {
|
|||
jsonFixture('tries/english-1000')
|
||||
);
|
||||
|
||||
var suggestions = model.predict(zeroTransform(), emptyContext());
|
||||
var suggestions = model.predict(zeroTransform(), emptyContext()).map(function(value) { return value.sample });
|
||||
assert.isAtLeast(suggestions.length, MIN_SUGGESTIONS);
|
||||
|
||||
// Ensure all of the suggestions seem okay.
|
||||
|
|
@ -107,7 +107,7 @@ describe('LMLayerWorker trie model for word lists', function() {
|
|||
left: 'I ',
|
||||
startOfBuffer: false,
|
||||
endOfBuffer: true,
|
||||
});
|
||||
}).map(function(value) { return value.sample });
|
||||
assert.isAtLeast(suggestions.length, MIN_SUGGESTIONS);
|
||||
|
||||
// Ensure all of the suggestions seem valid.
|
||||
|
|
@ -154,7 +154,36 @@ describe('LMLayerWorker trie model for word lists', function() {
|
|||
firstResults.map(s => s.displayAs)
|
||||
);
|
||||
});
|
||||
})
|
||||
});
|
||||
|
||||
describe('The default key function', function () {
|
||||
it('uses the default key function', function () {
|
||||
var model = new TrieModel(jsonFixture('tries/accented'));
|
||||
|
||||
// «nai| » [Send]
|
||||
// [ ??? ] [ naïve ] [ ??? ]
|
||||
var [suggestion] = model.predict({
|
||||
insert: 'i', deleteLeft: 0
|
||||
}, {
|
||||
left: 'na',
|
||||
startOfBuffer: false,
|
||||
endOfBuffer: true
|
||||
}).map(getSample);
|
||||
assert.strictEqual(suggestion.displayAs, 'naïve');
|
||||
|
||||
// «Let‘s get some pho| » [Send]
|
||||
// [ ??? ] [ phở ] [ ??? ]
|
||||
var [suggestion] = model.predict({
|
||||
insert: 'o', deleteLeft: 0
|
||||
}, {
|
||||
left: 'Let‘s get some ph',
|
||||
startOfBuffer: false,
|
||||
endOfBuffer: true
|
||||
}).map(getSample);
|
||||
assert.strictEqual(suggestion.displayAs, 'phở');
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
it('replaces the entire typed word when a suggestion is accepted', function () {
|
||||
// Ensure that all input is lower-cased when we try to look it up.
|
||||
|
|
@ -172,7 +201,7 @@ describe('LMLayerWorker trie model for word lists', function() {
|
|||
// Predict upon typing
|
||||
// «TH| » [Send]
|
||||
// [ there ] [ the ] [ they ]
|
||||
var [suggestion] = model.predict(transform, context);
|
||||
var [suggestion] = model.predict(transform, context).map(getSample);
|
||||
// I'm assuming the top word in English is "the".
|
||||
assert.strictEqual(suggestion.displayAs, 'the');
|
||||
|
||||
|
|
@ -187,4 +216,12 @@ describe('LMLayerWorker trie model for word lists', function() {
|
|||
buffer = buffer.substr(0, buffer.length - transform.deleteLeft) + transform.insert;
|
||||
return buffer;
|
||||
}
|
||||
|
||||
/**
|
||||
* For use in predict().map(FUNC) to get the underlying suggestion.
|
||||
* @param {ProbabilityMass<T>} pm
|
||||
*/
|
||||
function getSample(pm) {
|
||||
return pm.sample
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1,144 +0,0 @@
|
|||
/*
|
||||
* Unit tests for the Dummy prediction model.
|
||||
*/
|
||||
|
||||
var assert = require('chai').assert;
|
||||
var WordListModel = require('../../build/intermediate').models.WordListModel;
|
||||
|
||||
describe('LMLayerWorker word list model', function() {
|
||||
describe('instantiation', function () {
|
||||
it('can be instantiated with an empty word list', function () {
|
||||
var model = new WordListModel([]);
|
||||
assert.isObject(model);
|
||||
});
|
||||
|
||||
it('can be instantiated with an word list', function () {
|
||||
var model = new WordListModel([
|
||||
['foo', 0],
|
||||
['bar', 1],
|
||||
['baz', Math.MAX_SAFE_INTEGER]
|
||||
]);
|
||||
});
|
||||
});
|
||||
|
||||
describe('prediction', function () {
|
||||
var MIN_SUGGESTIONS = 3;
|
||||
|
||||
it('should predict prefixes with an empty context and a single letter transform', function () {
|
||||
// Predicting when the user JUST typed 't' should result in something like this:
|
||||
//
|
||||
// «t| » [Send]
|
||||
// [ to ] [ the ] [ this ]
|
||||
var model = new WordListModel(
|
||||
jsonFixture('wordlists/english-1000')
|
||||
);
|
||||
|
||||
var suggestions = model.predict({
|
||||
insert: 't',
|
||||
deleteLeft: 0,
|
||||
}, emptyContext());
|
||||
assert.isAtLeast(suggestions.length, MIN_SUGGESTIONS);
|
||||
|
||||
// Ensure all of the suggestions actually start with 't'
|
||||
var suggestion;
|
||||
var suggestedWord;
|
||||
for (var i = 0; i < MIN_SUGGESTIONS; i++) {
|
||||
suggestion = suggestions[i];
|
||||
suggestedWord = suggestion.transform.insert;
|
||||
assert.strictEqual(suggestedWord.substr(0, 1), 't');
|
||||
}
|
||||
});
|
||||
|
||||
it('should predict prefixes within an word and a single letter transform', function () {
|
||||
// Predicting when the user JUST typed 'h', with the buffer having a 't' in it:
|
||||
//
|
||||
// «th| » [Send]
|
||||
// [ this ] [ the ] [ there ]
|
||||
var model = new WordListModel(
|
||||
jsonFixture('wordlists/english-1000')
|
||||
);
|
||||
|
||||
var initialPrefix = 't';
|
||||
var insertedLetter = 'h';
|
||||
var truePrefix = initialPrefix + insertedLetter;
|
||||
var suggestions = model.predict({
|
||||
insert: insertedLetter,
|
||||
deleteLeft: 0,
|
||||
}, {
|
||||
left: initialPrefix,
|
||||
startOfBuffer: false,
|
||||
endOfBuffer: true
|
||||
});
|
||||
assert.isAtLeast(suggestions.length, MIN_SUGGESTIONS);
|
||||
|
||||
// Ensure all of the suggestions actually start with 'th'
|
||||
var suggestion;
|
||||
var suggestedWord;
|
||||
|
||||
// XXX: this tests knows TOO MUCH about the implementation of the function.
|
||||
// Need a test that asserts behavior; not how it got there.
|
||||
for (var i = 0; i < MIN_SUGGESTIONS; i++) {
|
||||
suggestion = suggestions[i];
|
||||
suggestedWord = suggestion.displayAs;
|
||||
// Assuming the transform where nothing is deleted, but
|
||||
// the rest of the suggested word is inserted.
|
||||
assert.strictEqual(suggestion.transform.deleteLeft, 0);
|
||||
// The first two characters should match the prefix WITH the transform.
|
||||
assert.strictEqual(suggestedWord.substr(0, truePrefix.length), truePrefix);
|
||||
assert.strictEqual(suggestion.transform.insert[0], insertedLetter);
|
||||
}
|
||||
});
|
||||
|
||||
it('should produce suggestions with an empty buffer and a zero transform', function () {
|
||||
// Predicting when the user has activated an empty text field:
|
||||
//
|
||||
// «| » [Send]
|
||||
// [ I'm ] [ I ] [ Hey ]
|
||||
var model = new WordListModel(
|
||||
jsonFixture('wordlists/english-1000')
|
||||
);
|
||||
|
||||
var suggestions = model.predict(zeroTransform(), emptyContext());
|
||||
assert.isAtLeast(suggestions.length, MIN_SUGGESTIONS);
|
||||
|
||||
// Ensure all of the suggestions seem valid.
|
||||
var suggestion;
|
||||
for (var i = 0; i < MIN_SUGGESTIONS; i++) {
|
||||
suggestion = suggestions[i];
|
||||
assert.isNotEmpty(suggestion.transform.insert);
|
||||
assert.strictEqual(suggestion.transform.deleteLeft, 0);
|
||||
assert.isNotEmpty(suggestion.displayAs);
|
||||
}
|
||||
});
|
||||
|
||||
it('should produce after typing at least one word', function () {
|
||||
// Predicting after typing at least one word.
|
||||
//
|
||||
// «I g| » [Send]
|
||||
// [ gave ] [ got ] [ got the ]
|
||||
var model = new WordListModel(
|
||||
jsonFixture('wordlists/english-1000')
|
||||
);
|
||||
|
||||
var truePrefix = 'g';
|
||||
var suggestions = model.predict({
|
||||
insert: truePrefix,
|
||||
deleteLeft: 0
|
||||
}, {
|
||||
left: 'I ',
|
||||
startOfBuffer: false,
|
||||
endOfBuffer: true,
|
||||
});
|
||||
assert.isAtLeast(suggestions.length, MIN_SUGGESTIONS);
|
||||
|
||||
// Ensure all of the suggestions seem valid.
|
||||
var suggestion;
|
||||
for (var i = 0; i < MIN_SUGGESTIONS; i++) {
|
||||
suggestion = suggestions[i];
|
||||
assert.strictEqual(suggestion.transform.insert.substr(0, truePrefix.length), truePrefix);
|
||||
assert.strictEqual(suggestion.transform.deleteLeft, 0);
|
||||
assert.isNotEmpty(suggestion.displayAs.substr(0, truePrefix.length), truePrefix);
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
var assert = chai.assert;
|
||||
|
||||
/*
|
||||
* A canary test to ensure our timeout configurations are working correctly for our CI.
|
||||
*/
|
||||
describe('Test configuration', function () {
|
||||
this.timeout(config.timeouts.standard);
|
||||
|
||||
it('Correctly retrieves timeout configurations', function() {
|
||||
let configArgs = __karma__.config.args;
|
||||
assert.isNotNull(configArgs, "Cannot find the custom arguments object from our Karma config.");
|
||||
|
||||
var timeoutConfig;
|
||||
|
||||
for(var i=0; i < configArgs.length; i++) {
|
||||
if(configArgs[i].type == 'timeouts') {
|
||||
timeoutConfig = configArgs[i];
|
||||
}
|
||||
}
|
||||
|
||||
assert.isNotNull(timeoutConfig, "Cannot find the timeout configuration object.");
|
||||
|
||||
// Now, were they processed correctly?
|
||||
assert.isNotNull(window['config'], "Test global 'config' is missing!");
|
||||
let timeouts = config.timeouts;
|
||||
// May be longer if an extra factor (such as a mobile device multiplier) is added.
|
||||
assert.isAtLeast(timeouts.standard, timeoutConfig.standard, "Timeouts were not parsed properly for test configuration.");
|
||||
})
|
||||
});
|
||||
|
|
@ -2,6 +2,8 @@ var assert = chai.assert;
|
|||
var LMLayer = com.keyman.text.prediction.LMLayer;
|
||||
|
||||
describe('LMLayer', function () {
|
||||
this.timeout(config.timeouts.standard);
|
||||
|
||||
describe('[[constructor]]', function () {
|
||||
it('should construct with a single argument', function () {
|
||||
let lmLayer = new LMLayer(helpers.defaultCapabilities);
|
||||
|
|
|
|||
|
|
@ -10,8 +10,12 @@ var LMLayer = com.keyman.text.prediction.LMLayer;
|
|||
* of suggestions when loaded and return them sequentially.
|
||||
*/
|
||||
describe('LMLayer using dummy model', function () {
|
||||
this.timeout(config.timeouts.standard);
|
||||
|
||||
describe('Prediction', function () {
|
||||
it('will predict future suggestions', function () {
|
||||
this.timeout(config.timeouts.standard * 3); // This one makes multiple subsequent calls across
|
||||
// the WebWorker boundary, so we should be generous here.
|
||||
var lmLayer = new LMLayer(helpers.defaultCapabilities);
|
||||
|
||||
// We're testing many as asynchronous messages in a row.
|
||||
|
|
|
|||
|
|
@ -4,23 +4,22 @@ var LMLayer = com.keyman.text.prediction.LMLayer;
|
|||
/*
|
||||
* How to run the worlist
|
||||
*/
|
||||
describe('LMLayer using the word list model', function () {
|
||||
describe('LMLayer using the trie model', function () {
|
||||
this.timeout(config.timeouts.standard);
|
||||
|
||||
describe('Prediction', function () {
|
||||
var EXPECTED_SUGGESTIONS = 3;
|
||||
it('will predict an empty buffer', function () {
|
||||
this.timeout(config.timeouts.standard * 3); // This one makes multiple subsequent calls across
|
||||
// the WebWorker boundary, so we should be generous here.
|
||||
var lmLayer = new LMLayer(helpers.defaultCapabilities);
|
||||
|
||||
// N.B.: This test can OCCASIONALLY Mocha's default 2
|
||||
// seconds expected execution time, causing sporadic build
|
||||
// failures. So just double the default timeout value! 🙃
|
||||
this.timeout(4000);
|
||||
|
||||
// We're testing many as asynchronous messages in a row.
|
||||
// this would be cleaner using async/await syntax, but
|
||||
// alas some of our browsers don't support it.
|
||||
return lmLayer.loadModel(
|
||||
// We need to provide an absolute path since the worker is based within a blob.
|
||||
document.location.protocol + '//' + document.location.host + "/resources/models/simple-wordlist.js"
|
||||
document.location.protocol + '//' + document.location.host + "/resources/models/simple-trie.js"
|
||||
).then(function (_actualConfiguration) {
|
||||
return Promise.resolve();
|
||||
}).then(function () {
|
||||
|
|
@ -2,7 +2,9 @@ var assert = chai.assert;
|
|||
var LMLayer = com.keyman.text.prediction.LMLayer;
|
||||
|
||||
describe('LMLayerWorker', function () {
|
||||
this.timeout(5000);
|
||||
// This one makes multiple subsequent calls across the WebWorker boundary, so we should be generous here.
|
||||
this.timeout(Math.max(config.timeouts.standard, 5000));
|
||||
|
||||
describe('LMLayerWorkerCode', function() {
|
||||
it('should exist!', function() {
|
||||
assert.isFunction(LMLayerWorkerCode,
|
||||
|
|
|
|||
|
|
@ -5,4 +5,17 @@ var helpers;
|
|||
helpers.defaultCapabilities = {
|
||||
maxLeftContextCodeUnits: 64
|
||||
};
|
||||
|
||||
var config = window['config'] = {};
|
||||
var configArgs = window['__karma__'].config.args; // Where Karma gives us our custom args.
|
||||
for(var i = 0; i < configArgs.length; configArgs++) {
|
||||
switch(configArgs[i].type) {
|
||||
case 'timeouts':
|
||||
var timeouts = JSON.parse(JSON.stringify(configArgs[i]));
|
||||
delete timeouts.type;
|
||||
|
||||
config['timeouts'] = timeouts;
|
||||
break;
|
||||
}
|
||||
}
|
||||
})(helpers || (helpers = {}));
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"totalWeight": 2,
|
||||
"root": {"type":"internal","weight":1,"values":["p","n"],"children":{"p":{"type":"leaf","weight":1,"entries":[{"key":"pho","weight":1,"content":"phở"}]},"n":{"type":"leaf","weight":1,"entries":[{"key":"naive","weight":1,"content":"naïve"}]}}}
|
||||
}
|
||||
|
|
@ -31,8 +31,8 @@
|
|||
|
||||
/// <reference path="../message.d.ts" />
|
||||
/// <reference path="models/dummy-model.ts" />
|
||||
/// <reference path="models/wordlist-model.ts" />
|
||||
/// <reference path="word_breaking/ascii-word-breaker.ts" />
|
||||
/// <reference path="./model-compositor.ts" />
|
||||
|
||||
/**
|
||||
* Encapsulates all the state required for the LMLayer's worker thread.
|
||||
|
|
@ -247,16 +247,9 @@ class LMLayerWorker {
|
|||
switch(payload.message) {
|
||||
case 'predict':
|
||||
let {transform, context} = payload;
|
||||
let compositor = new ModelCompositor(model); // Yeah, should probably use a persistent one eventually.
|
||||
|
||||
let suggestions = model.predict(transform, context);
|
||||
|
||||
// Let's not rely on the model to copy transform IDs.
|
||||
// Only bother is there IS an ID to copy.
|
||||
if(transform.id !== undefined) {
|
||||
suggestions.forEach(function(s: Suggestion) {
|
||||
s.transformId = transform.id;
|
||||
});
|
||||
}
|
||||
let suggestions = compositor.predict(transform, context);
|
||||
|
||||
// Now that the suggestions are ready, send them out!
|
||||
this.cast('suggestions', {
|
||||
|
|
@ -311,6 +304,8 @@ if (typeof module !== 'undefined' && typeof module.exports !== 'undefined') {
|
|||
module.exports = LMLayerWorker;
|
||||
module.exports['models'] = models;
|
||||
module.exports['wordBreakers'] = wordBreakers;
|
||||
/// XXX: export the ModelCompositor for testing.
|
||||
module.exports['ModelCompositor'] = ModelCompositor;
|
||||
} else if (typeof self !== 'undefined' && 'postMessage' in self) {
|
||||
// Automatically install if we're in a Web Worker.
|
||||
LMLayerWorker.install(self as DedicatedWorkerGlobalScope);
|
||||
|
|
|
|||
47
common/predictive-text/worker/model-compositor.ts
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
class ModelCompositor {
|
||||
private lexicalModel: WorkerInternalModel;
|
||||
private static readonly MAX_SUGGESTIONS = 12;
|
||||
|
||||
constructor(lexicalModel: WorkerInternalModel) {
|
||||
this.lexicalModel = lexicalModel;
|
||||
}
|
||||
|
||||
predict(transformDistribution: Transform | Distribution<Transform>, context: Context): Suggestion[] {
|
||||
let suggestionDistribution: Distribution<Suggestion> = [];
|
||||
|
||||
if(!(transformDistribution instanceof Array)) {
|
||||
transformDistribution = [ {sample: transformDistribution, p: 1.0} ];
|
||||
}
|
||||
|
||||
for(let alt of transformDistribution) {
|
||||
let transform = alt.sample;
|
||||
let distribution = this.lexicalModel.predict(transform, context);
|
||||
|
||||
distribution.forEach(function(pair: ProbabilityMass<Suggestion>) {
|
||||
// Let's not rely on the model to copy transform IDs.
|
||||
// Only bother is there IS an ID to copy.
|
||||
if(transform.id !== undefined) {
|
||||
pair.sample.transformId = transform.id;
|
||||
}
|
||||
|
||||
let compositedPair = {sample: pair.sample, p: pair.p * alt.p};
|
||||
suggestionDistribution.push(compositedPair);
|
||||
});
|
||||
}
|
||||
|
||||
// Now that we've calculated the set of probability masses, time to join 'em together
|
||||
// and return the most likely candidates.
|
||||
|
||||
// TODO: What if the model emits duplicate samples, each with their own mass?
|
||||
|
||||
suggestionDistribution = suggestionDistribution.sort(function(a, b) {
|
||||
return b.p - a.p; // Use descending order - we want the largest probabilty suggestions first!
|
||||
});
|
||||
|
||||
let suggestions = suggestionDistribution.splice(0, ModelCompositor.MAX_SUGGESTIONS).map(function(value) {
|
||||
return value.sample;
|
||||
});
|
||||
|
||||
return suggestions;
|
||||
}
|
||||
}
|
||||
|
|
@ -52,11 +52,29 @@ namespace models {
|
|||
return this.configuration;
|
||||
}
|
||||
|
||||
predict(transform: Transform, context: Context, injectedSuggestions?: Suggestion[]): Suggestion[] {
|
||||
if (injectedSuggestions) {
|
||||
return injectedSuggestions;
|
||||
predict(transform: Transform, context: Context, injectedSuggestions?: Suggestion[]): Distribution<Suggestion> {
|
||||
let makeUniformDistribution = function(suggestions: Suggestion[]): Distribution<Suggestion> {
|
||||
let distribution: Distribution<Suggestion> = [];
|
||||
let n = suggestions.length;
|
||||
|
||||
for(let s of suggestions) {
|
||||
distribution.push({sample: s, p: 1}); // For a dummy model, this is sufficient. The uniformness is all that matters.
|
||||
}
|
||||
|
||||
return distribution;
|
||||
}
|
||||
|
||||
if (injectedSuggestions) {
|
||||
return makeUniformDistribution(injectedSuggestions);
|
||||
}
|
||||
|
||||
let currentSet = this._futureSuggestions.shift();
|
||||
|
||||
if(!currentSet) {
|
||||
return [];
|
||||
} else {
|
||||
return makeUniformDistribution(currentSet);
|
||||
}
|
||||
return this._futureSuggestions.shift();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
@ -1,122 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) 2018 National Research Council Canada (author: Eddie A. Santos)
|
||||
* Copyright (c) 2018 SIL International
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
* this software and associated documentation files (the "Software"), to deal in
|
||||
* the Software without restriction, including without limitation the rights to
|
||||
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
* the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
* subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file wordlist-model.ts
|
||||
*
|
||||
* Defines a simple word list (unigram) model.
|
||||
*/
|
||||
|
||||
namespace models {
|
||||
/**
|
||||
* @class WordListModel
|
||||
*
|
||||
* Defines the word list model, or the unigram model.
|
||||
* Unigram models throw away all preceding words, and search
|
||||
* for the next word exclusively. As such, they can perform simple
|
||||
* prefix searches within words, however they are not very good
|
||||
* at predicting the next word.
|
||||
*/
|
||||
|
||||
/** Upper bound on the amount of suggestions to generate. */
|
||||
const MAX_SUGGESTIONS = 12;
|
||||
|
||||
/**
|
||||
* Additional arguments to pass into the model, in addition to the model
|
||||
* parameters themselves.
|
||||
*/
|
||||
interface WordListModelOptions {
|
||||
/**
|
||||
* How to break words in a phrase.
|
||||
*/
|
||||
wordBreaker?: WordBreakingFunction;
|
||||
}
|
||||
|
||||
export class WordListModel implements WorkerInternalModel {
|
||||
configuration: Configuration;
|
||||
private _wordlist: string[];
|
||||
readonly breakWords: WordBreakingFunction;
|
||||
|
||||
constructor(wordlist: [string, number][], options: WordListModelOptions = {}) {
|
||||
// The wordlist is always given as an array of
|
||||
// [wordform, count] pairs. Since this model does not
|
||||
// support weighting, discard the count.
|
||||
this._wordlist = wordlist.map(([word, _count]) => word);
|
||||
this.breakWords = options.wordBreaker || wordBreakers.placeholder;
|
||||
}
|
||||
|
||||
configure(capabilities: Capabilities): Configuration {
|
||||
return this.configuration = {
|
||||
leftContextCodeUnits: capabilities.maxLeftContextCodeUnits,
|
||||
rightContextCodeUnits: capabilities.maxRightContextCodeUnits
|
||||
};
|
||||
}
|
||||
|
||||
predict(transform: Transform, context: Context): Suggestion[] {
|
||||
// EVERYTHING to the left of the cursor:
|
||||
let fullLeftContext = context.left || '';
|
||||
// Stuff to the left of the cursor in the current word.
|
||||
let words = this.breakWords(fullLeftContext);
|
||||
let leftContext = words.length > 0 ? words.pop().text : '';
|
||||
// All text to the left of the cursor INCLUDING anything that has
|
||||
// just been typed.
|
||||
let prefix = leftContext + (transform.insert || '');
|
||||
let suggestions: Suggestion[] = [];
|
||||
|
||||
// Special-case the empty buffer/transform: return the top suggestions.
|
||||
if (!transform.insert && context.startOfBuffer && context.endOfBuffer) {
|
||||
return this._wordlist.slice(0, MAX_SUGGESTIONS).map(word => ({
|
||||
transform: {
|
||||
insert: word + ' ',
|
||||
deleteLeft: 0
|
||||
},
|
||||
displayAs: word
|
||||
}));
|
||||
}
|
||||
|
||||
// Naïve O(n) exhaustive search through the entire word
|
||||
// list, up to the suggestion limit.
|
||||
for (let word of this._wordlist) {
|
||||
let suggestionPrefix = word.substr(0, prefix.length);
|
||||
if (prefix !== suggestionPrefix) {
|
||||
continue;
|
||||
}
|
||||
|
||||
suggestions.push({
|
||||
transform: {
|
||||
// The left part of the word has already been entered.
|
||||
insert: word.substr(leftContext.length) + ' ',
|
||||
deleteLeft: 0,
|
||||
},
|
||||
displayAs: word,
|
||||
});
|
||||
|
||||
// Do not exceed the limit on suggestions.
|
||||
if (suggestions.length >= MAX_SUGGESTIONS) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return suggestions;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
@ -86,7 +86,7 @@ interface PredictMessage {
|
|||
*
|
||||
* TODO: test for absent transform!
|
||||
*/
|
||||
transform?: Transform;
|
||||
transform?: Transform | Distribution<Transform>;
|
||||
|
||||
/**
|
||||
* The context (text to the left and text to right) at the
|
||||
|
|
@ -118,7 +118,7 @@ interface LMLayerWorkerState {
|
|||
*/
|
||||
interface WorkerInternalModel {
|
||||
configure(capabilities: Capabilities): Configuration;
|
||||
predict(transform: Transform, context: Context): Suggestion[];
|
||||
predict(transform: Transform, context: Context): Distribution<Suggestion>;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import * as ts from "typescript";
|
|||
import KmpCompiler from "./package-compiler/kmp-compiler";
|
||||
import * as fs from "fs";
|
||||
import * as path from "path";
|
||||
import { createWordListDataStructure, createTrieDataStructure } from "./lexical-model-compiler/build-trie";
|
||||
import { createTrieDataStructure } from "./lexical-model-compiler/build-trie";
|
||||
|
||||
// The model ID MUST adhere to this pattern:
|
||||
// author .bcp47 .uniq
|
||||
|
|
@ -234,15 +234,7 @@ export default class LexicalModelCompiler {
|
|||
(oc as LexicalModelCompiledFst).fst = Buffer.from(sources.join('')).toString('base64');
|
||||
this.logError('Unimplemented model format '+modelSource.format);
|
||||
return false;
|
||||
case "trie-1.0":
|
||||
func += `var model = {};\n`;
|
||||
func += `model.backingData = ${createWordListDataStructure(sources)};\n`;
|
||||
func += `LMLayerWorker.loadModel(new models.WordListModel(model.backingData`;
|
||||
if (wordBreakingSource) {
|
||||
func += `, {wordBreaking: ${wordBreakingSource}}`;
|
||||
}
|
||||
func += `));\n`;
|
||||
break;
|
||||
case "trie-1.0": // TODO: in lexical-models, rollback all trie-2.0 models to use trie-1.0!
|
||||
case 'trie-2.0':
|
||||
func += `LMLayerWorker.loadModel(new models.TrieModel(${
|
||||
createTrieDataStructure(sources, modelSource.searchTermToKey)
|
||||
|
|
|
|||
|
|
@ -4,22 +4,6 @@
|
|||
*/
|
||||
type WordList = [string, number][];
|
||||
|
||||
/**
|
||||
* Returns a data structure suitable for use by the wordlist model.
|
||||
*
|
||||
* @param sourceFiles an array of the CONTENTS of source files
|
||||
*
|
||||
* @return a data structure that will be used internally by the wordlist
|
||||
* implemention. Currently this is an array of [wordlist, count] pairs.
|
||||
*/
|
||||
export function createWordListDataStructure(sourceFiles: string[]): string {
|
||||
// NOTE: this generates a simple array of word forms --- not a trie!
|
||||
// In the future, this function may construct a true trie data structure,
|
||||
// but this is not yet implemented.
|
||||
let contents = sourceFiles.join('\n');
|
||||
return JSON.stringify(parseWordList(contents));
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a data structure that can be loaded by the TrieModel.
|
||||
*
|
||||
|
|
@ -108,17 +92,17 @@ namespace Trie {
|
|||
// The MIT License
|
||||
// Copyright (c) 2015-2017 Conrad Irwin <conrad.irwin@gmail.com>
|
||||
// Copyright (c) 2011 Marc Campbell <marc.e.campbell@gmail.com>
|
||||
//
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to deal
|
||||
// in the Software without restriction, including without limitation the rights
|
||||
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
// copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
|
|
@ -184,10 +168,14 @@ namespace Trie {
|
|||
*
|
||||
* @param wordlist The wordlist with non-negative weights.
|
||||
* @param keyFunction Function that converts word forms into indexed search keys
|
||||
* @returns The root node as a JSON-serialiable object.
|
||||
* @returns A JSON-serialiable object that can be given to the TrieModel constructor.
|
||||
*/
|
||||
export function buildTrie(wordlist: WordList, keyFunction: Wordform2Key = defaultWordform2Key): object {
|
||||
return new Trie(keyFunction).buildFromWordList(wordlist).root;
|
||||
let root = new Trie(keyFunction).buildFromWordList(wordlist).root;
|
||||
return {
|
||||
totalWeight: sumWeights(root),
|
||||
root: root
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -344,6 +332,24 @@ namespace Trie {
|
|||
delete node.unsorted;
|
||||
}
|
||||
|
||||
/**
|
||||
* O(n) recursive traversal to sum the total weight of all leaves in the
|
||||
* trie, starting at the provided node.
|
||||
*
|
||||
* @param node The node to start summing weights.
|
||||
*/
|
||||
function sumWeights(node: Node): number {
|
||||
if (node.type === 'leaf') {
|
||||
return node.entries
|
||||
.map(entry => entry.weight)
|
||||
.reduce((acc, count) => acc + count, 0);
|
||||
} else {
|
||||
return Object.values(node.children)
|
||||
.map((child) => sumWeights(child))
|
||||
.reduce((acc, count) => acc + count, 0);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts word forms in into an indexable form. It does this by converting
|
||||
* the string to uppercase and trying to remove diacritical marks.
|
||||
|
|
@ -364,8 +370,8 @@ namespace Trie {
|
|||
const COMBINING_DIACRITICAL_MARKS = /[\u0300-\u036f]/g;
|
||||
return wordform
|
||||
.normalize('NFD')
|
||||
.toUpperCase()
|
||||
.toLowerCase()
|
||||
// remove diacritical marks.
|
||||
.replace(COMBINING_DIACRITICAL_MARKS, '') as SearchKey;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ interface ClassBasedWordBreaker {
|
|||
}
|
||||
|
||||
interface LexicalModel {
|
||||
// TODO: remove trie-2.0 when https://github.com/keymanapp/lexical-models/pull/39 is merged.
|
||||
readonly format: 'trie-1.0'|'trie-2.0'|'fst-foma-1.0'|'custom-1.0',
|
||||
//... metadata ...
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1019,6 +1019,10 @@ public class Manager: NSObject, HTTPDownloadDelegate, UIGestureRecognizerDelegat
|
|||
if let error = error {
|
||||
log.info("Failed to fetch lexical model list for "+languageID+". error: "+(error as! String))
|
||||
self.downloadFailed(forLanguageID: languageID, error: error) //???forKeyboards
|
||||
} else if nil == lexicalModels {
|
||||
log.info("No lexical models available for language \(languageID) (nil)")
|
||||
} else if 0 == lexicalModels?.count {
|
||||
log.info("No lexical models available for language \(languageID) (empty)")
|
||||
} else {
|
||||
log.info("Fetched lexical model list for "+languageID+".")
|
||||
// choose which of the lexical models to download
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@
|
|||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>Keyman $(PRODUCT_VERSION) for macOS</string>
|
||||
<string>$(PRODUCT_VERSION)</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleURLTypes</key>
|
||||
|
|
|
|||
|
|
@ -14,7 +14,14 @@ CFBundleDisplayName = "Keyman";
|
|||
go out of date easily.
|
||||
*/
|
||||
|
||||
// NOTE: Do not put version-related strings in here. The following are now computed based
|
||||
// on User-Defined Build Setting variables such as PRODUCT_VERSION and COPYRIGHT_STRING_RIGHTS
|
||||
//
|
||||
//NSHumanReadableCopyright = "Copyright © 2018 SIL International. All rights reserved.";
|
||||
//CFBundleShortVersionString = "Keyman 10.0 for macOS";
|
||||
//CFBundleShortVersionString = "10.0";
|
||||
//CFBundleVersion = "10.0";
|
||||
//CFBundleGetInfoString = "Keyman 10.0 for macOS, Copyright 2018, SIL International";
|
||||
|
||||
// The PRODUCT_VERSION only needs to be changed once per version. It should be in sync with
|
||||
// ../resources/VERSION.md
|
||||
// There is a Run Script that checks to be sure
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
PODS:
|
||||
- Crashlytics (3.12.0):
|
||||
- Fabric (~> 1.9.0)
|
||||
- Fabric (1.9.0)
|
||||
- Crashlytics (3.13.1):
|
||||
- Fabric (~> 1.10.1)
|
||||
- Fabric (1.10.1)
|
||||
|
||||
DEPENDENCIES:
|
||||
- Crashlytics
|
||||
|
|
@ -13,8 +13,8 @@ SPEC REPOS:
|
|||
- Fabric
|
||||
|
||||
SPEC CHECKSUMS:
|
||||
Crashlytics: 07fb167b1694128c1c9a5a5cc319b0e9c3ca0933
|
||||
Fabric: f988e33c97f08930a413e08123064d2e5f68d655
|
||||
Crashlytics: 5aa8e90dcbf2f34898b4f5a0037787531246cca0
|
||||
Fabric: f6f21452846788bb44595d73e9909d79d328e617
|
||||
|
||||
PODFILE CHECKSUM: f97fe7081827fd61ed7a61b5a0820d4e0df01dee
|
||||
|
||||
|
|
|
|||
23
oem/firstvoices/android/.gitignore
vendored
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
.gradle
|
||||
|
||||
# Built application files
|
||||
**/build/
|
||||
|
||||
# Local configuration file (sdk path, etc)
|
||||
**/local.properties
|
||||
|
||||
# User-specific stuff:
|
||||
**/.idea/libraries/
|
||||
**/.idea/dictionaries
|
||||
**/.idea/**/*.xml
|
||||
**/.idea/caches/
|
||||
**/*.iml
|
||||
|
||||
**/.DS_Store
|
||||
|
||||
# This is the file output from KMEA; it's part of our build process.
|
||||
**/keyman-engine.aar
|
||||
|
||||
# Files generated as part of the build
|
||||
app/src/main/assets/packages
|
||||
app/src/main/assets/keyboards.csv
|
||||
127
oem/firstvoices/android/app/build.gradle
Normal file
|
|
@ -0,0 +1,127 @@
|
|||
plugins {
|
||||
id 'com.android.application'
|
||||
id 'io.fabric'
|
||||
id 'com.github.triplet.play' version '2.1.0' apply false
|
||||
}
|
||||
|
||||
android {
|
||||
compileSdkVersion 28
|
||||
|
||||
defaultConfig {
|
||||
applicationId "com.firstvoices.keyboards"
|
||||
minSdkVersion 17
|
||||
targetSdkVersion 28
|
||||
|
||||
String env_services_json_file = System.getenv('oem_firstvoices_services_json_file')
|
||||
|
||||
if (env_services_json_file != null) {
|
||||
env_services_json_file = String.valueOf(env_services_json_file)
|
||||
println "Copying production google-services.json and using for firstvoices"
|
||||
copy {
|
||||
from env_services_json_file
|
||||
include '*.json'
|
||||
into './'
|
||||
}
|
||||
}
|
||||
|
||||
String env_build_number = System.getenv("BUILD_NUMBER") //assigned by TeamCity, so all caps
|
||||
String env_build_counter = System.getenv("build_counter")
|
||||
if (env_build_number != null) {
|
||||
println "Using build number $env_build_number and counter $env_build_counter from environment"
|
||||
versionCode env_build_counter as Integer
|
||||
versionName env_build_number
|
||||
} else {
|
||||
String majorMinorVersion = file('$projectDir/../../../../../resources/VERSION.md').text.trim()
|
||||
versionCode 999
|
||||
versionName majorMinorVersion + '.0.0'
|
||||
println "Using build $majorMinorVersion from project VERSION.md"
|
||||
}
|
||||
}
|
||||
|
||||
String env_release_store_file = System.getenv("oem_firstvoices_release_store_file")
|
||||
String env_release_store_password = System.getenv("oem_firstvoices_release_store_password")
|
||||
String env_release_key_alias = System.getenv("oem_firstvoices_release_key_alias")
|
||||
String env_release_key_password = System.getenv("oem_firstvoices_release_key_password")
|
||||
if (env_release_store_file != null) {
|
||||
signingConfigs {
|
||||
release {
|
||||
println "Using signing from environment"
|
||||
storeFile file(String.valueOf(env_release_store_file))
|
||||
storePassword env_release_store_password
|
||||
keyAlias env_release_key_alias
|
||||
keyPassword env_release_key_password
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
/*debug {
|
||||
applicationIdSuffix ".debug"
|
||||
}*/
|
||||
release {
|
||||
minifyEnabled false
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||
if (env_release_store_file != null) {
|
||||
signingConfig signingConfigs.release
|
||||
}
|
||||
}
|
||||
}
|
||||
productFlavors {
|
||||
}
|
||||
|
||||
lintOptions {
|
||||
disable 'MissingTranslation'
|
||||
}
|
||||
}
|
||||
|
||||
String env_keys_json_file = System.getenv("oem_firstvoices_keys_json_file")
|
||||
if (env_keys_json_file != null) {
|
||||
apply plugin: 'com.github.triplet.play'
|
||||
|
||||
play {
|
||||
serviceAccountCredentials = file(String.valueOf(env_keys_json_file))
|
||||
|
||||
// Deactivate lower conflicting version APKs
|
||||
resolutionStrategy = "ignore"
|
||||
switch (System.env.TIER) {
|
||||
case 'beta':
|
||||
track = 'beta'
|
||||
break
|
||||
|
||||
case 'stable':
|
||||
track = 'production'
|
||||
break
|
||||
|
||||
default:
|
||||
track = 'alpha'
|
||||
}
|
||||
println "TIER set to $track"
|
||||
}
|
||||
}
|
||||
|
||||
repositories {
|
||||
flatDir {
|
||||
dirs 'libs'
|
||||
}
|
||||
google()
|
||||
maven {
|
||||
url 'https://maven.fabric.io/public'
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||
implementation 'androidx.appcompat:appcompat:1.0.2'
|
||||
implementation 'com.google.android.material:material:1.0.0'
|
||||
api(name: 'keyman-engine', ext: 'aar')
|
||||
implementation "com.google.firebase:firebase-core:16.0.9"
|
||||
implementation "com.google.firebase:firebase-crash:16.2.1"
|
||||
implementation('com.crashlytics.sdk.android:crashlytics:2.9.9@aar') {
|
||||
transitive = true
|
||||
}
|
||||
implementation 'androidx.preference:preference:1.1.0-alpha05'
|
||||
}
|
||||
|
||||
apply plugin: 'com.google.gms.google-services'
|
||||
apply plugin: 'com.android.application'
|
||||
apply plugin: 'io.fabric'
|
||||
40
oem/firstvoices/android/app/google-services.json
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
{
|
||||
"project_info": {
|
||||
"project_number": "207806011344",
|
||||
"firebase_url": "https://keyman-for-firstvoices.firebaseio.com",
|
||||
"project_id": "keyman-for-firstvoices",
|
||||
"storage_bucket": "keyman-for-firstvoices.appspot.com"
|
||||
},
|
||||
"client": [
|
||||
{
|
||||
"client_info": {
|
||||
"mobilesdk_app_id": "1:207806011344:android:24fc6473e17e4354",
|
||||
"android_client_info": {
|
||||
"package_name": "com.firstvoices.keyboards"
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "207806011344-a8hhvioppu699pgq5d4i9csa5ou04kbi.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
],
|
||||
"api_key": [
|
||||
{
|
||||
"current_key": "AIzaSyDrAfZLNVdRIq6aB4YkcEpkWuYwxcDhZsw"
|
||||
}
|
||||
],
|
||||
"services": {
|
||||
"appinvite_service": {
|
||||
"other_platform_oauth_client": [
|
||||
{
|
||||
"client_id": "207806011344-a8hhvioppu699pgq5d4i9csa5ou04kbi.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"configuration_version": "1"
|
||||
}
|
||||
0
oem/firstvoices/android/app/libs/.gitkeep
Normal file
17
oem/firstvoices/android/app/proguard-rules.pro
vendored
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
# Add project specific ProGuard rules here.
|
||||
# By default, the flags in this file are appended to flags specified
|
||||
# in /Users/serkankurt/Desktop/Android Development/adt-bundle-mac-x86_64-20140624/sdk/tools/proguard/proguard-android.txt
|
||||
# You can edit the include path and order by changing the proguardFiles
|
||||
# directive in build.gradle.
|
||||
#
|
||||
# For more details, see
|
||||
# http://developer.android.com/guide/developing/tools/proguard.html
|
||||
|
||||
# Add any project specific keep options here:
|
||||
|
||||
# If your project uses WebView with JS, uncomment the following
|
||||
# and specify the fully qualified class name to the JavaScript interface
|
||||
# class:
|
||||
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
||||
# public *;
|
||||
#}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
package com.firstvoices.keyboards;
|
||||
|
||||
import android.app.Application;
|
||||
import android.test.ApplicationTestCase;
|
||||
|
||||
/**
|
||||
* <a href="http://d.android.com/tools/testing/testing_android.html">Testing Fundamentals</a>
|
||||
*/
|
||||
public class ApplicationTest extends ApplicationTestCase<Application> {
|
||||
public ApplicationTest() {
|
||||
super(Application.class);
|
||||
}
|
||||
}
|
||||
57
oem/firstvoices/android/app/src/main/AndroidManifest.xml
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.firstvoices.keyboards" >
|
||||
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
|
||||
<application
|
||||
android:allowBackup="true"
|
||||
android:icon="@mipmap/ic_launcher"
|
||||
android:label="@string/app_name"
|
||||
android:theme="@style/AppTheme"
|
||||
android:fullBackupContent="@xml/backup_descriptor">
|
||||
|
||||
<service
|
||||
android:name="com.firstvoices.keyboards.SystemKeyboard"
|
||||
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize|smallestScreenSize"
|
||||
android:permission="android.permission.BIND_INPUT_METHOD" >
|
||||
<intent-filter>
|
||||
<action android:name="android.view.InputMethod" />
|
||||
</intent-filter>
|
||||
|
||||
<meta-data
|
||||
android:name="android.view.im"
|
||||
android:resource="@xml/method" />
|
||||
</service>
|
||||
|
||||
<activity
|
||||
android:name="com.firstvoices.keyboards.MainActivity"
|
||||
android:label="@string/app_name" >
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity
|
||||
android:name="com.firstvoices.keyboards.RegionListActivity"
|
||||
android:label="@string/app_name"
|
||||
android:theme="@android:style/Theme.Holo.Light.Dialog" >
|
||||
</activity>
|
||||
<activity
|
||||
android:name="com.firstvoices.keyboards.KeyboardListActivity"
|
||||
android:label="@string/app_name"
|
||||
android:theme="@android:style/Theme.Holo.Light.Dialog" >
|
||||
</activity>
|
||||
<activity
|
||||
android:name="com.firstvoices.keyboards.SetupActivity"
|
||||
android:label="@string/app_name"
|
||||
android:launchMode="singleTask"
|
||||
android:theme="@android:style/Theme.Holo.Light.Dialog" >
|
||||
</activity>
|
||||
<meta-data
|
||||
android:name="io.fabric.ApiKey"
|
||||
android:value="4efced22a226f98e05442a7e472b377d89fcc294"
|
||||
/>
|
||||
</application>
|
||||
</manifest>
|
||||
|
|
@ -0,0 +1,232 @@
|
|||
@font-face {
|
||||
font-family: "Nunito";
|
||||
src: url("nunito-regular-webfont.eot");
|
||||
src: url("nunito-regular-webfont.ttf") format("truetype"),
|
||||
url("nunito-regular-webfont.otf") format("opentype"),
|
||||
url("nunito-regular-webfont.woff") format("woff"),
|
||||
url("nunito-regular-webfont.svg#nunitoregular") format("svg");
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: "Open Sans";
|
||||
src: url("opensans-regular-webfont.eot");
|
||||
src: url("opensans-regular-webfont.ttf") format("truetype"),
|
||||
url("opensans-regular-webfont.otf") format("opentype"),
|
||||
url("opensans-regular-webfont.woff") format("woff"),
|
||||
url("opensans-regular-webfont.svg#open_sansregular") format("svg");
|
||||
}
|
||||
|
||||
html, body{
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
html{
|
||||
margin: 0;
|
||||
min-height: 100%;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
body{
|
||||
background: #f7511e;
|
||||
background: -moz-linear-gradient(25deg, #f7511e 0%, #aa1225 55%, #9f031f 100%);
|
||||
background: -webkit-gradient(linear, left bottom, right top, color-stop(0%,#f7511e), color-stop(55%,#aa1225), color-stop(100%,#9f031f));
|
||||
background: -webkit-linear-gradient(25deg, #f7511e 0%,#aa1225 55%,#9f031f 100%);
|
||||
background: -o-linear-gradient(25deg, #f7511e 0%,#aa1225 55%,#9f031f 100%);
|
||||
background: -ms-linear-gradient(25deg, #f7511e 0%,#aa1225 55%,#9f031f 100%);
|
||||
/*background: linear-gradient(25deg, #f7511e 0%,#aa1225 55%,#9f031f 100%);*/
|
||||
|
||||
color: #fff;
|
||||
font-family: 'Open Sans';
|
||||
margin: 0 0 200px 0;
|
||||
}
|
||||
|
||||
#instructions{
|
||||
padding: 0 30px 10px;
|
||||
width: calc(100% - 60px);
|
||||
}
|
||||
|
||||
#instructions p{
|
||||
font-size: 0.875em;
|
||||
margin: 15px 0;
|
||||
}
|
||||
|
||||
#logo {
|
||||
display: block;
|
||||
margin: 30px auto;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#logo img{
|
||||
max-width: 400px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#logo p{
|
||||
color: #FBF8E4;
|
||||
font-family: 'Nunito';
|
||||
font-size: 1.5em;
|
||||
font-weight: bold;
|
||||
text-shadow: 1px 1px 0px #000;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
h2{
|
||||
color: #ffd988;
|
||||
font-family: 'Nunito';
|
||||
font-size: 1.25em;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.steps{
|
||||
display: table;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.step{
|
||||
display: table-row;
|
||||
}
|
||||
|
||||
.step-number, .step-instruction{
|
||||
border-bottom: 1px solid #A0BC76;
|
||||
display: table-cell;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.step-number{
|
||||
width: 80px;
|
||||
}
|
||||
|
||||
.step-number img{
|
||||
display: block;
|
||||
height: 30px;
|
||||
margin: 15px auto;
|
||||
width: 30px;
|
||||
-webkit-filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.2));
|
||||
filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.2));
|
||||
}
|
||||
|
||||
.step-number span {
|
||||
display: block;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
margin: 15px auto;
|
||||
width: 30px;
|
||||
-webkit-filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.2));
|
||||
filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.2));
|
||||
|
||||
-moz-border-radius: 15px;
|
||||
border-radius: 15px;
|
||||
|
||||
background-color: #A0BC76;
|
||||
color: white;
|
||||
text-align: center;
|
||||
font-family: 'Nunito';
|
||||
font-size: 1.5em;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.steps.use .step-number, .steps.use .step-instruction{
|
||||
border-bottom: 0 none;
|
||||
}
|
||||
|
||||
.step-instruction{
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.step-instruction img{
|
||||
-webkit-filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.1));
|
||||
filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.1));
|
||||
height: 30px;
|
||||
margin-right: 5px;
|
||||
vertical-align: top;
|
||||
width: 30px;
|
||||
opacity: 0.25;
|
||||
}
|
||||
|
||||
.step-instruction input[type="button"]{
|
||||
background-color: #DDDDDD;
|
||||
border: 0 none;
|
||||
border-radius: 5px;
|
||||
color: #333;
|
||||
-webkit-filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.1));
|
||||
filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.1));
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
text-transform: uppercase;
|
||||
width: 150px;
|
||||
}
|
||||
|
||||
#supporters{
|
||||
padding: 0 30px 10px;
|
||||
width: calc(100% - 60px);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#supporters p{
|
||||
color: #ffd988;
|
||||
font-size: 0.875em;
|
||||
margin: 5px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#supporters img{
|
||||
background-color: white;
|
||||
height: 43px;
|
||||
width: auto;
|
||||
padding: 2px;
|
||||
margin: 5px;
|
||||
-webkit-filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.2));
|
||||
filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.2));
|
||||
}
|
||||
|
||||
#donation{
|
||||
padding: 0 30px 10px;
|
||||
width: calc(100% - 60px);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#donation p{
|
||||
color: #ffd988;
|
||||
font-size: 0.875em;
|
||||
margin: 5px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#donation a:link{
|
||||
text-decoration: underline;
|
||||
color: white;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#donation a:visited{
|
||||
text-decoration: underline;
|
||||
color: white;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#footer{
|
||||
background-color: #605E4B;
|
||||
color: #CFCEC8;
|
||||
height: 200px;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#footer h2, #footer a{
|
||||
color: #CFCEC8;
|
||||
}
|
||||
|
||||
#footer p{
|
||||
font-size: 0.875em;
|
||||
margin: 5px 0;
|
||||
}
|
||||
|
||||
#footer img{
|
||||
height: auto;
|
||||
width: 50px;
|
||||
}
|
||||
BIN
oem/firstvoices/android/app/src/main/assets/setup/check-off.png
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
|
|
@ -0,0 +1,41 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
width="60px" height="60px" viewBox="0 0 60 60" style="enable-background:new 0 0 60 60;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#DDDDDD;}
|
||||
</style>
|
||||
<path class="st0" d="M30,0C13.5,0,0,13.5,0,30s13.5,30,30,30s30-13.5,30-30S46.5,0,30,0z M43.3,21.9L24.4,39.6
|
||||
c-0.2,0.2-0.4,0.3-0.7,0.3c-0.3,0-0.5-0.1-0.7-0.3l-6.3-6.3c-0.4-0.4-0.4-1,0-1.4c0.4-0.4,1-0.4,1.4,0l5.6,5.6l18.2-17
|
||||
c0.4-0.4,1-0.4,1.4,0C43.7,20.9,43.7,21.5,43.3,21.9z"/>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 848 B |
BIN
oem/firstvoices/android/app/src/main/assets/setup/check-on.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
|
|
@ -0,0 +1,25 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" id="Layer_1" x="0px" y="0px" width="60px" height="60px" viewBox="0 0 60 60" xml:space="preserve" enable-background="new 0 0 60 60">
|
||||
<style type="text/css">
|
||||
|
||||
.st0{fill:#FFFFFF;}
|
||||
.st1{fill:#9ACD32;}
|
||||
|
||||
</style>
|
||||
<circle class="st0" cx="30" cy="30" r="21.8"/>
|
||||
<path class="st1" d="M30 0C13.5 0 0 13.5 0 30s13.5 30 30 30 30-13.5 30-30S46.5 0 30 0zM43.3 21.9L24.4 39.6c-0.2 0.2-0.4 0.3-0.7 0.3 -0.3 0-0.5-0.1-0.7-0.3l-6.3-6.3c-0.4-0.4-0.4-1 0-1.4 0.4-0.4 1-0.4 1.4 0l5.6 5.6 18.2-17c0.4-0.4 1-0.4 1.4 0C43.7 20.9 43.7 21.5 43.3 21.9z"/>
|
||||
<g/>
|
||||
<g/>
|
||||
<g/>
|
||||
<g/>
|
||||
<g/>
|
||||
<g/>
|
||||
<g/>
|
||||
<g/>
|
||||
<g/>
|
||||
<g/>
|
||||
<g/>
|
||||
<g/>
|
||||
<g/>
|
||||
<g/>
|
||||
<g/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 752 B |
|
After Width: | Height: | Size: 5.4 KiB |
129
oem/firstvoices/android/app/src/main/assets/setup/fpcc.svg
Normal file
|
|
@ -0,0 +1,129 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 4502.1875 1143.75"
|
||||
height="1143.75"
|
||||
width="4502.1875"
|
||||
xml:space="preserve"
|
||||
version="1.1"
|
||||
id="svg2"><metadata
|
||||
id="metadata8"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs6" /><g
|
||||
transform="matrix(1.25,0,0,-1.25,0,1143.75)"
|
||||
id="g10"><g
|
||||
transform="scale(0.245535,0.245535)"
|
||||
id="g12"><path
|
||||
id="path14"
|
||||
style="fill:#a0201e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 5211.55,2140.41 0,-198.41 339.59,0 c 37.35,0 68.26,-30.93 68.26,-68.16 0,-38.5 -30.91,-68.21 -68.26,-68.21 l -339.59,0 0,-354.4 -158.55,0 0,746.08 c 0,43.4 35.97,79.35 79.3,79.35 l 534.18,0 0,-136.25 -454.93,0" /><path
|
||||
id="path16"
|
||||
style="fill:#a0201e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 5821.53,1451.23 158.59,0 0,825.305 -158.59,0 0,-825.305 z" /><path
|
||||
id="path18"
|
||||
style="fill:#a0201e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 6619.75,2140.41 -257.73,0 0,-241.81 257.73,0 c 71.96,0 135.13,43.4 135.13,122.75 0,77.95 -63.17,119.06 -135.13,119.06 m 152.56,-689.18 -182.29,311.12 -228,0 0,-311.12 -158.55,0 0,746.08 c 0,43.4 35.88,79.35 79.34,79.35 l 366.71,0 c 157.33,0 266.48,-115.18 266.48,-257.86 0,-105.32 -63.17,-195.67 -159.9,-234.24 l 197,-333.33 -180.79,0" /><path
|
||||
id="path20"
|
||||
style="fill:#a0201e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 7400.9,1437.61 c -109.15,0 -221.88,24.82 -325.99,64.4 l 29.73,122.69 c 91.68,-30.99 202.01,-53.26 298.7,-53.26 116.52,0 174.76,35.95 174.76,91.64 0,49.63 -64.39,79.35 -235.53,157.43 -162.29,73.06 -241.63,133.9 -241.63,252.83 0,148.72 100.35,215.79 324.72,215.79 90.41,0 220.41,-19.85 293.8,-40.98 l -23.82,-127.65 c -92.69,18.58 -190.6,32.26 -267.54,32.26 -127.64,0 -168.61,-21.13 -168.61,-71.85 0,-53.32 40.97,-74.45 218.18,-156.1 178.34,-82.02 259.03,-121.61 259.03,-249.26 0,-153.68 -139.9,-237.94 -335.8,-237.94" /><path
|
||||
id="path22"
|
||||
style="fill:#a0201e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 8237.56,2137.8 0,-686.57 -158.59,0 0,686.57 -274.02,0 0,138.86 706.71,0 0,-138.86 -274.1,0" /><path
|
||||
id="path24"
|
||||
style="fill:#a0201e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 9288.73,2140.41 -239.15,0 0,-255.37 239.15,0 c 71.85,0 133.79,50.78 133.79,128.8 0,79.36 -61.94,126.57 -133.79,126.57 m 22.28,-391.8 -261.43,0 0,-297.38 -158.59,0 0,746.08 c 0,43.4 35.88,79.35 79.17,79.35 l 340.85,0 c 163.69,0 271.53,-120.21 271.53,-262.82 0,-142.48 -107.84,-265.23 -271.53,-265.23" /><path
|
||||
id="path26"
|
||||
style="fill:#a0201e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 9785.97,1451.23 c -43.61,0 -79.45,35.95 -79.45,79.29 l 0,666.79 c 0,43.46 35.84,79.23 79.45,79.23 l 512.93,0 0,-136.25 -433.79,0 0,-198.23 327.29,0 c 38.5,0 69.4,-30.99 69.4,-68.22 0,-38.5 -30.9,-68.09 -69.4,-68.09 l -327.29,0 0,-218.21 435.09,0 0,-136.31 -514.23,0" /><path
|
||||
id="path28"
|
||||
style="fill:#a0201e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 10838.4,2147.67 c -161.1,0 -264.1,-120.08 -264.1,-285.03 0,-164.75 103,-283.69 264.1,-283.69 161.1,0 265.2,118.94 265.2,283.69 0,164.95 -104.1,285.03 -265.2,285.03 m 0,-710.06 c -249.3,0 -422.9,188.3 -422.9,425.03 0,236.73 173.6,426.31 422.9,426.31 249.1,0 422.5,-189.58 422.5,-426.31 0,-236.73 -173.4,-425.03 -422.5,-425.03" /><path
|
||||
id="path30"
|
||||
style="fill:#a0201e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 11813.9,2140.41 -239,0 0,-255.37 239,0 c 72,0 133.7,50.78 133.7,128.8 0,79.36 -61.7,126.57 -133.7,126.57 m 22.3,-391.8 -261.3,0 0,-297.38 -158.7,0 0,746.08 c 0,43.4 35.8,79.35 79.3,79.35 l 340.7,0 c 163.6,0 271.4,-120.21 271.4,-262.82 0,-142.48 -107.8,-265.23 -271.4,-265.23" /><path
|
||||
id="path32"
|
||||
style="fill:#a0201e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 12309.8,1451.23 c -42.1,0 -78.2,35.95 -78.2,79.29 l 0,746.02 158.8,0 0,-687.92 436.2,0 0,-137.39 -516.8,0" /><path
|
||||
id="path34"
|
||||
style="fill:#a0201e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 13036.4,1451.23 c -43.5,0 -79.4,35.95 -79.4,79.29 l 0,666.79 c 0,43.46 35.9,79.23 79.4,79.23 l 512.9,0 0,-136.25 -433.6,0 0,-198.23 327,0 c 38.5,0 69.5,-30.99 69.5,-68.22 0,-38.5 -31,-68.09 -69.5,-68.09 l -327,0 0,-218.21 435,0 0,-136.31 -514.3,0" /><path
|
||||
id="path36"
|
||||
style="fill:#a0201e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 14004.3,1437.61 c -108.9,0 -221.7,24.82 -325.8,64.4 l 29.7,122.69 c 91.6,-30.99 202,-53.26 298.6,-53.26 116.5,0 174.8,35.95 174.8,91.64 0,49.63 -64.5,79.35 -235.4,157.43 -162.5,73.06 -241.8,133.9 -241.8,252.83 0,148.72 100.4,215.79 324.8,215.79 90.6,0 220.8,-19.85 293.7,-40.98 l -23.5,-127.65 c -92.9,18.58 -190.8,32.26 -267.7,32.26 -127.7,0 -168.6,-21.13 -168.6,-71.85 0,-53.32 40.9,-74.45 218.1,-156.1 178.5,-82.02 258.9,-121.61 258.9,-249.26 0,-153.68 -139.9,-237.94 -335.8,-237.94" /><path
|
||||
id="path38"
|
||||
style="fill:#a0201e;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 14661.4,2157.66 c -43.4,-94.18 -110.2,-231.7 -110.2,-231.7 l -74.6,0 69.5,180.98 c -38.6,11.13 -65.7,47.03 -65.7,89.16 0,52.05 42.2,92.85 94.3,92.85 52,0 94.3,-40.8 94.3,-92.85 0,-12.41 -1.4,-26.03 -7.6,-38.44" /><path
|
||||
id="path40"
|
||||
style="fill:#220e04;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 5343.31,1024.61 c -30.18,8.46 -69.48,12.6 -105.08,12.6 -112.32,0 -178.63,-69.362 -178.63,-161.128 0,-92.465 66.31,-162.016 178.63,-162.016 35.6,0 72.05,5.727 105.08,15.653 l 18.12,-72.289 c -35.67,-14.703 -86.05,-22.399 -133.09,-22.399 -152,0 -260.01,100.926 -260.01,241.051 0,140.068 105.85,240.228 260.01,240.228 45.49,0 91.75,-4.9 134.52,-18.77 l -19.55,-72.93" /><path
|
||||
id="path42"
|
||||
style="fill:#220e04;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 5706.23,635.031 c -126.21,0 -203.84,91.762 -203.84,195.489 l 0,278.92 89.52,0 0,-279.62 c 0,-70.062 46.27,-114.929 114.32,-114.929 67.16,0 114.08,44.867 114.08,114.929 l 0,279.62 89.92,0 0,-278.92 c 0,-103.727 -78.52,-195.489 -204,-195.489" /><path
|
||||
id="path44"
|
||||
style="fill:#220e04;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 6118.23,642.727 c -23.87,0 -44.15,20.238 -44.15,44.992 l 0,421.721 89.76,0 0,-388.881 246.61,0 0,-77.832 -292.22,0" /><path
|
||||
id="path46"
|
||||
style="fill:#220e04;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 6671.67,1030.91 0,-388.117 -89.76,0 0,388.117 -154.77,0 0,78.47 399.3,0 0,-78.47 -154.77,0" /><path
|
||||
id="path48"
|
||||
style="fill:#220e04;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 7138.37,635.031 c -126.17,0 -204.05,91.762 -204.05,195.489 l 0,278.92 89.68,0 0,-279.62 c 0,-70.062 46.36,-114.929 114.37,-114.929 67.12,0 114.24,44.867 114.24,114.929 l 0,279.62 89.68,0 0,-278.92 c 0,-103.727 -78.48,-195.489 -203.92,-195.489" /><path
|
||||
id="path50"
|
||||
style="fill:#220e04;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 7741.62,1032.38 -145.92,0 0,-136.696 145.92,0 c 40.61,0 76.28,24.629 76.28,69.363 0,44.163 -35.67,67.333 -76.28,67.333 m 86.1,-389.653 -103,175.828 -129.02,0 0,-175.828 -89.61,0 0,421.723 c 0,24.69 20.45,44.99 45.09,44.99 l 207.14,0 c 89.07,0 150.69,-65.36 150.69,-145.858 0,-59.434 -35.67,-110.602 -90.33,-132.363 l 111.51,-188.492 -102.47,0" /><path
|
||||
id="path52"
|
||||
style="fill:#220e04;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 8252.22,982.484 -63.58,-164.629 128.05,0 -64.47,164.629 z m 131.1,-339.757 -40.68,104.429 -180.71,0 -40.61,-104.429 -91.75,0 185.71,446.343 c 7.01,16.04 21.63,25.2 36.94,25.2 16.33,0 30.83,-9.16 38,-25.2 l 184.9,-446.343 -91.8,0" /><path
|
||||
id="path54"
|
||||
style="fill:#220e04;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 8634.16,642.727 c -23.78,0 -43.98,20.238 -43.98,44.992 l 0,421.721 89.52,0 0,-388.881 246.68,0 0,-77.832 -292.22,0" /><path
|
||||
id="path56"
|
||||
style="fill:#220e04;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 9584.41,1024.61 c -30.3,8.46 -69.48,12.6 -105.23,12.6 -112.09,0 -178.64,-69.362 -178.64,-161.128 0,-92.465 66.55,-162.016 178.64,-162.016 35.75,0 72.08,5.727 105.23,15.653 l 18.21,-72.289 c -36.05,-14.703 -86.26,-22.399 -133.18,-22.399 -152.12,0 -260,100.926 -260,241.051 0,140.068 105.81,240.228 260,240.228 45.49,0 91.76,-4.9 134.4,-18.77 l -19.43,-72.93" /><path
|
||||
id="path58"
|
||||
style="fill:#220e04;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 9954.14,1036.51 c -91.11,0 -149.19,-67.901 -149.19,-161.127 0,-93.227 58.08,-160.492 149.19,-160.492 91.16,0 150.06,67.265 150.06,160.492 0,93.226 -58.9,161.127 -150.06,161.127 m 0,-401.545 c -140.68,0 -238.79,106.652 -238.79,240.418 0,133.827 98.11,240.997 238.79,240.997 140.96,0 239.06,-107.17 239.06,-240.997 0,-133.766 -98.1,-240.418 -239.06,-240.418" /><path
|
||||
id="path60"
|
||||
style="fill:#220e04;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 10525.9,635.031 c -126,0 -203.9,91.762 -203.9,195.489 l 0,278.92 89.6,0 0,-279.62 c 0,-70.062 46.4,-114.929 114.3,-114.929 67.4,0 114.4,44.867 114.4,114.929 l 0,279.62 89.7,0 0,-278.92 c 0,-103.727 -78.5,-195.489 -204.1,-195.489" /><path
|
||||
id="path62"
|
||||
style="fill:#220e04;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 11258.9,639.227 c -14,-2.102 -30,2.039 -39.9,14.64 l -235.4,299.981 0,-311.121 -89.8,0 0,426.743 c 0,24.57 20.4,44.8 44.9,44.8 13.9,0 24.4,-3.5 34.2,-15.52 l 235.7,-299.031 0,309.721 89.6,0 0,-426.174 c 0,-23.102 -17.1,-41.43 -39.3,-44.039" /><path
|
||||
id="path64"
|
||||
style="fill:#220e04;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 11809,1024.61 c -30.2,8.46 -69.4,12.6 -105.1,12.6 -112.2,0 -178.6,-69.362 -178.6,-161.128 0,-92.465 66.4,-162.016 178.6,-162.016 35.7,0 72.3,5.727 105.1,15.653 l 18.1,-72.289 c -35.6,-14.703 -86,-22.399 -133.1,-22.399 -152,0 -260,100.926 -260,241.051 0,140.068 105.9,240.228 260,240.228 45.6,0 91.9,-4.9 134.6,-18.77 l -19.6,-72.93" /><path
|
||||
id="path66"
|
||||
style="fill:#220e04;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 11978.7,642.727 89.52,0 0,466.648 -89.52,0 0,-466.648 z" /><path
|
||||
id="path68"
|
||||
style="fill:#220e04;fill-opacity:1;fill-rule:nonzero;stroke:none"
|
||||
d="m 12286.8,642.727 c -23.9,0 -44.2,20.238 -44.2,44.992 l 0,421.721 89.7,0 0,-388.881 246.7,0 0,-77.832 -292.2,0" /><path
|
||||
id="path70"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
d="m 0.144531,0 3972.729969,0 0,3726.55 -3972.729969,0 0,-3726.55 z" /><path
|
||||
id="path72"
|
||||
style="fill:#231f20;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
d="m 608.891,3726.55 110.304,0 c 175.77,-233.41 396.235,-491.14 639.045,-795.26 229.49,-287.51 497.09,-741.18 992.02,-662.65 512.27,81.14 979.63,868.96 572.94,1457.91 l 88.17,0 C 3566.82,2968.96 2593.86,1814.34 1843.15,2290.66 1355.09,2600.44 1003.12,3343.02 608.891,3726.55" /><path
|
||||
id="path74"
|
||||
style="fill:#231f20;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
d="m 829.355,3726.55 2005.525,0 c 554.39,-720.3 -388.71,-1768.58 -1035.71,-1192.86 -355.05,315.83 -663.54,857.18 -969.815,1192.86" /><path
|
||||
id="path76"
|
||||
style="fill:#231f20;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
d="m 3187.57,3726.55 784.59,0 0.72,-1301.68 C 3797.75,1716.34 3371.14,1068.46 2658.61,1097.86 c -486.48,20.17 -702.43,402.37 -881.5,839.43 284.14,-512.27 929.56,-733.29 1366.41,-331.23 509.69,468.87 330.41,1562.65 44.05,2120.49" /><path
|
||||
id="path78"
|
||||
style="fill:#a0201e;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
d="M 0.144531,3641.28 C 362.785,3330.99 756.297,2952.35 1159.98,2511.73 1555.93,2079.13 1975.52,1607.39 1975.52,987.449 1975.52,414.719 1653.91,115.883 1145.8,0 L 0.144531,0 0,952.254 C 232.352,844.457 887.801,564.711 983.566,854.957 1060.28,1087.61 681.23,1309.96 520.648,1429.34 322.387,1576.72 170.758,1692.35 0.5,1802.06 L 0.144531,2079.39 C 421.875,1764.96 900.84,1508.5 1049.75,921.266 1113.85,1308.18 813.309,1541.21 608.891,1738.29 414.785,1925.83 207.07,2116.93 0.359375,2278.06 L 0.144531,3641.28" /><path
|
||||
id="path80"
|
||||
style="fill:#a0201e;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
d="M 3972.88,870.355 C 3851.11,415.102 3595.41,94.1836 3113.51,0.0625 l -1567.03,0 c 437.99,87.1172 387.92,721.2575 825.63,899.0585 404.32,164.239 806.93,80.692 1124.16,331.419 244.96,193.46 350.11,449.46 476.61,739.52" /><path
|
||||
id="path82"
|
||||
style="fill:#231f20;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
d="m 3972.88,0 -539.99,0.0625 c 262.07,71.2109 445.29,221.9605 539.99,461.1755" /><path
|
||||
id="path84"
|
||||
style="fill:#a0201e;fill-opacity:1;fill-rule:evenodd;stroke:none"
|
||||
d="m 0.144531,3641.28 0,-1363.22" /></g></g></svg>
|
||||
|
After Width: | Height: | Size: 13 KiB |
70
oem/firstvoices/android/app/src/main/assets/setup/globe.svg
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
width="68px" height="78px" viewBox="0 0 68 78" style="enable-background:new 0 0 68 78;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#878A8E;}
|
||||
.st1{fill:#ACB4BE;}
|
||||
</style>
|
||||
<symbol id="Light_Keyboard_Secondary_Inactive" viewBox="0 -78 52 78">
|
||||
<path class="st0" d="M48.9-74.8c-0.2-0.1-0.4-0.2-0.6-0.4c-1-0.5-2.1-0.8-3.3-0.8H7c-1.2,0-2.3,0.3-3.3,0.8
|
||||
c-0.2,0.1-0.4,0.2-0.6,0.4c-1.7,1.1-2.8,3-3.1,5.1c0,0.2,0,0.5,0,0.7v-2c0-3.9,3.1-7,7-7h38c3.9,0,7,3.1,7,7v2c0-0.2,0-0.5,0-0.7
|
||||
C51.7-71.8,50.6-73.7,48.9-74.8z"/>
|
||||
<g>
|
||||
<path class="st1" d="M45-76H7c-3.9,0-7,3.1-7,7v62c0,3.9,3.1,7,7,7h38c3.9,0,7-3.1,7-7v-62C52-72.9,48.9-76,45-76z"/>
|
||||
</g>
|
||||
</symbol>
|
||||
<g>
|
||||
|
||||
<use xlink:href="#Light_Keyboard_Secondary_Inactive" width="52" height="78" x="0" y="-78" transform="matrix(1.3077 0 0 -1 -1.277043e-03 0)" style="overflow:visible;"/>
|
||||
</g>
|
||||
<path d="M53.9,38C53.4,27.8,45.2,19.6,35,19.1V19h-2v0.1C22.8,19.6,14.6,27.8,14.1,38H14v2h0.1c0.5,10.2,8.7,18.4,18.9,18.9V59h2
|
||||
v-0.1c10.2-0.5,18.4-8.7,18.9-18.9H54L53.9,38L53.9,38z M45,38c-0.1-2.7-0.4-5.3-1.1-7.6c1.6-0.9,3-2,4.3-3.2
|
||||
c2.5,3,4.1,6.8,4.3,10.9H45z M42.1,29.6c-2.2,1.1-4.6,1.7-7.1,1.9V20.6C38,21.3,40.6,24.7,42.1,29.6z M33,20.6v10.8
|
||||
c-2.5-0.1-5-0.8-7.1-1.9C27.4,24.7,30,21.3,33,20.6z M33,32.9V38h-8.5c0.1-2.5,0.4-4.8,0.9-6.9C27.8,32.2,30.3,32.8,33,32.9z M33,40
|
||||
v6c-2.6,0.1-5.1,0.8-7.3,1.8c-0.7-2.4-1.1-5-1.2-7.8H33z M33,47.5v9.8c-2.8-0.6-5.3-3.7-6.8-8.1C28.3,48.3,30.6,47.7,33,47.5z
|
||||
M35,57.4v-9.8c2.4,0.1,4.7,0.7,6.8,1.7C40.3,53.7,37.8,56.8,35,57.4z M43.2,50c1.2,0.7,2.4,1.5,3.4,2.5c-2.1,2-4.7,3.5-7.6,4.3
|
||||
C40.7,55.2,42.1,52.9,43.2,50z M35,46v-6h8.5c-0.1,2.8-0.5,5.5-1.2,7.8C40.1,46.8,37.6,46.2,35,46z M35,38v-5.1
|
||||
c2.7-0.1,5.2-0.8,7.5-1.9c0.5,2.1,0.9,4.5,0.9,6.9H35z M47.6,26.6c-0.2-0.2-0.3-0.4-0.5-0.6c-1.1,1.1-2.3,2.1-3.7,2.9
|
||||
c-1.1-3.3-2.6-5.9-4.5-7.7C42.4,22.2,45.3,24,47.6,26.6z M29,21.2c-1.9,1.7-3.4,4.4-4.5,7.7c-1.3-0.8-2.6-1.8-3.7-2.9
|
||||
c-0.2,0.2-0.3,0.4-0.5,0.5C22.7,24,25.6,22.2,29,21.2z M19.8,27.1c1.3,1.3,2.7,2.3,4.3,3.2c-0.6,2.3-1,4.9-1.1,7.6h-7.5
|
||||
C15.8,33.9,17.3,30.1,19.8,27.1z M15.6,40H23c0.1,3.1,0.5,6,1.3,8.5c-1.4,0.8-2.8,1.8-4,2.9c0.3,0.4,0.7,0.7,1.1,1.1
|
||||
c1-1,2.2-1.8,3.4-2.5c1,2.9,2.5,5.2,4.2,6.8C21.5,54.7,16,48,15.6,40z M46.6,52.5c0.4-0.3,0.7-0.7,1.1-1.1c-1.2-1.1-2.5-2.1-4-2.9
|
||||
c0.8-2.6,1.2-5.5,1.3-8.5h7.5C52.2,44.9,50,49.3,46.6,52.5z"/>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.7 KiB |
249
oem/firstvoices/android/app/src/main/assets/setup/keyman.svg
Normal file
|
|
@ -0,0 +1,249 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
width="72px" height="53.7px" viewBox="0 0 72 53.7" style="enable-background:new 0 0 72 53.7;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#CFCEC8;}
|
||||
.st1{fill:#69B8D4;}
|
||||
.st2{fill:#BA2034;}
|
||||
.st3{fill-rule:evenodd;clip-rule:evenodd;fill:#BFBEB6;}
|
||||
.st4{fill:#F58721;}
|
||||
.st5{fill:#8F8E7F;}
|
||||
.st6{fill:#FFFFFF;}
|
||||
.st7{fill:#BFBEB6;}
|
||||
.st8{fill:#FBBF88;}
|
||||
.st9{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
|
||||
.st10{fill-rule:evenodd;clip-rule:evenodd;fill:#8F8E7F;}
|
||||
.st11{fill:#A5CFE1;}
|
||||
.st12{fill:#CDCCC6;}
|
||||
.st13{fill-rule:evenodd;clip-rule:evenodd;fill:#CFCEC8;}
|
||||
</style>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st0" d="M39,17.6c0.2,0,0.4-0.1,0.5-0.3c-0.2-0.1-1-0.9-1.1-0.4c0.2,0.1,0.6,0.5,0.3,0.6c-0.1,0-0.8-0.2-0.9-0.2
|
||||
c0-0.3-0.2-0.4-0.1-0.7l0.2,0C37.3,15.8,35.1,17,36,18c0.5,0.6,1.6-0.1,2,0.8c0,0.1,0,0.3,0,0.4c0.1,0.2,0.2,0.3,0.4,0.4
|
||||
c0.5-0.1,0.9-0.2,1.4-0.3c0-0.2-0.1-0.4-0.2-0.5C39.2,18.4,39.1,18.1,39,17.6z"/>
|
||||
<path class="st1" d="M46.2,11l-0.4-0.2l0,0C45.9,10.9,46,11,46.2,11z"/>
|
||||
<path class="st2" d="M71.1,22.7C70.4,22,60.3,11.1,59.8,10.5C60.3,11.1,70.4,22,71.1,22.7z"/>
|
||||
<path class="st3" d="M65.4,31.7c-0.1-0.2-0.2-0.4,0.1-0.5c0.2-0.1,0.3,0.2,0.3,0.4c0-0.1,0.1-0.1,0.1-0.1c0.1,0.1,0.2,0.3,0.3,0.4
|
||||
c-0.2,0.2-0.1,0.2,0.1,0.4l0-0.1c0,0,0,0.1,0.1,0.1C65.9,32.4,65.6,32,65.4,31.7z M63.5,31.3c-0.1,0-0.1-0.1-0.3-0.1
|
||||
c-0.1,0-0.4,0-0.5-0.1c-0.2,0.1-0.2,0.3-0.2,0.4l-0.1-0.3c-0.1-0.1-0.2-0.5,0-0.6c0.1-0.2,0.5-0.2,0.4-0.6
|
||||
c-0.1-0.4-0.9-0.4-1.1-0.9l0.1,0c0.4,0.4,0.4,0.6,1,0.5c0.2,0.1,0.4,0.3,0.6,0.5c0.2,0.2,0.2,0.5,0.5,0.6
|
||||
C63.8,31,63.6,31.2,63.5,31.3z M62.2,30.3c-0.1,0.1-0.1,0-0.2,0.2c0,0,0.1,0.1,0,0.1c0,0-0.2,0.1-0.2,0c-0.1-0.1-0.1-0.2-0.1-0.3
|
||||
c0,0.1-0.1,0.2-0.1,0.2c-0.2-0.1-0.4-0.3-0.4-0.5c0.1,0,0.2-0.1,0.2,0c0.2,0,0.3,0,0.4,0c0-0.1,0-0.1,0-0.2c0.1-0.1,0.1,0,0.2,0.1
|
||||
c0.2,0.2,0,0.2,0.3,0.1C62.4,30.2,62.3,30.2,62.2,30.3z M60.4,29.7c0.2,0,0.4,0.2,0.4,0.4l0,0c-0.2,0.1-0.3,0-0.5-0.2
|
||||
c0,0,0-0.2-0.1-0.3c-0.2-0.1-0.4,0-0.6-0.1c-0.1-0.1-0.7-0.9-0.7-1c0.1-0.3,0.4-0.2,0.6-0.1c0.2,0.1,0.2,0.3,0.4,0.5
|
||||
c0.4,0.4,0.8,0.2,1.3,0c0.1,0.1,0.1,0.2,0.1,0.4c0.1,0,0.2,0.1,0.3,0.2C61.4,29.8,60.5,29.3,60.4,29.7z M60.8,32.2
|
||||
c-0.1-0.4,0-0.9-0.1-1.3c0.3,0,0.3,1,0.2,1.1l0.1,0C61,32.1,60.9,32.2,60.8,32.2z M51.9,41.7c-0.2,0-0.3-0.1-0.4-0.2
|
||||
c-0.1-0.1-0.2-0.2-0.3-0.4c-0.2-0.2-0.4-0.4-0.3-0.6v0c0.3-0.1,0.9,0.1,1.1,0.3C52.2,41.1,51.8,41.3,51.9,41.7z M57.4,21.5
|
||||
c-0.2,0-0.3,0-0.5,0c0.1,0.2,0.3,0.7-0.1,0.8c-0.1,0-0.7-0.2-0.6,0.1c0.1,0.1,0.4,0,0.5,0c0.1,0.1,0.4,0.5,0.4,0.6
|
||||
c0.1,0.3,0,0.3-0.3,0.2c-0.2-0.1-0.5-0.2-0.6-0.3c0,0.1-0.1,0-0.2,0.1l0.1,0.2c-0.4,0.2-0.4-0.9-0.3-1.1c0.1-0.3,0.3-0.5,0.5-0.8
|
||||
c0.1-0.2,0-0.5,0.1-0.7c0.4,0.2,0.1-0.7,0-0.8c-0.2-0.2-0.6-0.4-0.9-0.5c-0.3-0.2-0.6-0.1-0.8-0.4c-0.1-0.1-0.1-0.2-0.2-0.3
|
||||
c-0.2-0.1-0.4,0-0.5-0.3c0.3-0.3,1.7-1,1.9-0.5c0,0.1-0.1,0.4-0.1,0.5c-0.1,0.3-0.4,0.3-0.6,0.5c0.2,0.3,0.8,0.1,1,0.1
|
||||
c0.5,0,0.8,0.4,1.1,0.7c0.2,0.3,0.6,0.5,0.5,0.9C57.7,20.8,57.2,21,57.4,21.5z M57.4,27.5c-0.3,0-0.9-0.8-0.6-1H57
|
||||
C57.1,26.7,58,27.6,57.4,27.5z M71.1,22.7C70.4,22,60.3,11.1,59.8,10.5c-0.8-0.9-1.4-0.8-2-0.9c-0.8,0-1.9,1.7-3.5,3.9
|
||||
c0,0.6,0.5,0.8,0.8,1.4c-0.6-0.1-1-0.3-1.6-0.3c-0.6,0.8-1.3,1.6-2,2.3c0.2,0.1,0.3,0.1,0.5,0.1c0.3,0,0.9-0.2,1.1,0
|
||||
c-0.1,0.1-0.3,0.2-0.4,0.3c0.3,0.1,0.5,0.2,0.8,0.2c0.2,0,0.4,0,0.5,0.2c-0.4,0.5-1.1-0.1-1.6-0.2c-0.4-0.1-0.9-0.2-1.4-0.2
|
||||
l-0.1,0.1c1,0.5,2.1,1.3,2.2,2.6c0,0.3-0.3,0.7-0.2,1c0,0.2,0.2,0.3,0.2,0.4c0,0.1,0,0.4,0,0.5c0.5,0,1.9-0.3,2.2,0.2
|
||||
c0.1,0.2,0,0.4-0.1,0.6c-0.3,0.5-0.5,0.2-1,0.1c-0.2-0.1-0.4-0.1-0.6-0.1c-0.3,0-0.5,0.2-0.7,0.1c-0.2,0-0.3-0.2-0.5-0.2
|
||||
c-0.2,0-0.6,0.5-0.7,0.6c-0.5-0.5-1,0-0.8,0.6c0.4,1,1.2-0.2,1.6-0.4c0,0.5,0,1,0.4,1.2c0.5,0.2,1.1,0.1,1.6,0.3
|
||||
c0.3,0.1,0.8,0.6,1.1,0.9c0.5,0.4,0.7,0.9,0.7,1.6c0,0.5-0.2,0.9-0.4,1.4c-0.2,0.4-0.9,1-0.4,1.4c0.2,0.1,0.9,0.3,0.5,0.7
|
||||
c-0.2,0.3-0.9-0.1-0.7-0.5c-0.4-0.4-0.8,0.2-0.8,0.6c0,0.6,0.8,1,1.3,1c0.7,0.1,1.5,0.2,1.8,0.9c0.3,0.5,0,1.3-0.1,1.9
|
||||
c-0.7,0-1.7-0.5-2.4-0.2c0.1,0.4,0.5,1.1,0.9,1.3c0.5,0.3,1,0.3,1.5,0.3c0.5,0,0.8,0.1,1.2,0.3c0.3,0.2,0.8,0.2,1,0.6
|
||||
c-0.6,0.4-1.6,0.4-2.2,0c-0.3-0.1-0.5-0.3-0.8-0.4c-0.3-0.1-0.7-0.1-0.9-0.3c-0.5-0.2-0.7-0.9-1.1-1.1c-0.4-0.3-1-0.6-1.5-0.7
|
||||
c-0.2,0.9-0.5,0.4-1.1,0.1c-0.5-0.3-1.3-0.4-1.8-0.4c-0.4,0-0.3-0.1-0.5,0.3c-0.1,0.2-0.3,0.4-0.3,0.7c0,0.4,0,0.7,0,1.1
|
||||
c-0.1,0.6-0.3,1.8,0,2.4c0.4,0.8,1.3,1.2,1.3,2.1c0,0.2,0,0.4-0.2,0.6c-0.4,0-0.8-0.3-1.2-0.5c-0.5-0.2-1-0.4-1.6-0.7
|
||||
c-0.5-0.2-1.1-0.4-1.5-0.9c-0.3-0.3-0.6-0.6-1-0.9c0,0.3,0,0.6-0.1,0.9c-0.3,0-0.7,0-0.9-0.2c0.1-0.2,0.2-0.3,0.3-0.4
|
||||
c-0.3,0.2-0.8,0.4-1.2,0.4c1.4,5,2.8,9.7,2.9,10.1c0.3,1.2,1.1,1.8,2,1.9c0.7,0,1.5-0.3,2.1-0.9c0.6-0.7,5.3-5.8,10-10.9h-0.1
|
||||
c-0.6,0-1.1-0.3-1.6-0.4c-0.3-0.1-0.4-0.2-0.6-0.3c-0.3-0.2-0.4-0.1-0.8-0.1c-0.3,0-1.1,0-1.3-0.3l-0.2-0.2c0.2,0.1,0.3,0,0.5-0.1
|
||||
c0.4-0.2,0.6-0.2,1-0.1c0.4,0,0.9,0,1.3,0c0.3,0,0.8,0,1.1,0.1c0.1,0,0.1,0.2,0.2,0.2c0.1,0,0.2-0.1,0.3-0.1
|
||||
c0.1,0,0.3,0.2,0.5,0.1c-0.1-0.2,0.2-0.1,0.3,0c0.1,0,0.3,0,0.4,0.1l0,0l1-1.2c-0.1,0.1-0.3,0.1-0.5,0c-0.5-0.2-1.1-0.6-1.2-1.1
|
||||
c0.2,0,0.3-0.1,0.4-0.2c-0.2-0.2,0-1,0-1.3c0-0.3,0.2-0.6,0.2-0.9c0-0.2-0.1-0.8,0-0.9c0.1-0.1,0.7-0.1,0.8-0.1
|
||||
c0.3,0,0.4,0,0.4,0.3c0,0.2-0.4,0.4-0.2,0.7c0.1,0.2,0.5,0.3,0.6,0.4c0.2-0.1,0.4,0,0.5,0.2c-0.5,0.3-0.1,0.6,0.1,1
|
||||
c0.1,0.2,0.1,0.4,0.2,0.6l0.6-0.7c0-0.1-0.1-0.2-0.1-0.3c-0.1-0.2-0.3-0.5-0.4-0.7c-0.2-0.6,1-1,1.2-1.7c0.5,0.7-0.8,1.1-1,1.5
|
||||
c-0.1,0.2-0.1,0.4,0.3,0.4c0.3,0,0.5-0.3,0.7-0.5c0.1,0.3,0,0.4,0.1,0.5l2.1-2.3c-0.1,0-0.2-0.1-0.2-0.2c-0.2-0.3,0.1-0.6,0.4-0.7
|
||||
c0.2,0,0.3,0,0.5,0.1c1.5-1.7,2.6-2.9,2.7-3c0.4-0.5,1.4-1.9,1.4-2.9C72,24.7,71.7,23.4,71.1,22.7z"/>
|
||||
<path class="st4" d="M41.5,49.7l0.2,2C41.8,51.2,41.7,50.5,41.5,49.7z"/>
|
||||
<path class="st5" d="M26.1,33.2c-0.6-0.4-1,0.4-1.1,0.9c0.1,0.1,0.2,0.2,0.2,0.3C25.6,34.1,25.9,33.7,26.1,33.2z"/>
|
||||
<polygon class="st4" points="25.2,34.5 25.2,34.4 25.1,34.4 "/>
|
||||
<path class="st4" d="M32.6,30.9c0.1,0,0.3,0,0.4,0l-0.9,0C32.3,30.9,32.5,30.9,32.6,30.9z"/>
|
||||
<path class="st5" d="M17.5,29.9c0.1-0.3,0.3-0.9,0.2-1.2c0-0.1,0-0.1-0.1-0.1c-0.1-0.2-0.2-0.2-0.5-0.4c-0.4-0.3-0.4-0.9-0.7-1.1
|
||||
c-0.2-0.2-0.7-0.2-1-0.3c-0.9-0.3-1.9-0.2-2.7-0.6l-0.2-0.1c-0.6-0.4-1-0.6-1.3-1.4c-0.3-0.8-0.4-1.6-0.7-2.4
|
||||
c-0.2-0.8-0.3-1.4,0.1-2.2c0.2-0.4,0.5-0.6,0.6-1.1c0.1-0.4,0-0.6,0.2-0.9c0.4-0.5,1-0.8,1.5-1.2c0.3-0.2,0.6-0.6,0.9-0.8
|
||||
c0.3-0.2,0.7-0.2,1-0.4v0c0.1,0,0.1-0.1,0.1-0.2c0.1-0.1,0.2-0.2,0.3-0.3l0-0.1c-0.8-0.3-1.3-0.6-1.5-0.6
|
||||
c-0.3-0.1-0.7-0.2-1.1-0.2c-0.7,0-1.4,0.2-2.2,1.2C9.4,17.1,0.6,31.2,0.2,32C0.1,32.3,0,32.8,0,33.3c0,1.1,0.4,2.5,2.2,3.2
|
||||
C3.3,37,9,39.7,15.7,42.8l0-0.2c-0.1-0.7,0-1.4,0-2c0-0.4,0.1-0.7,0.1-1c0-0.5-0.2-1-0.3-1.4c0-0.2,0-0.4,0-0.5
|
||||
c0.1-0.5,0.4-0.7,0.7-1c0.1-0.1,0.1-0.1,0.2-0.2c0.5-0.5,0.8-1.3,1.1-2c0.4-0.9,0.2-1.5,0-2.3C17.3,31.1,17.3,30.8,17.5,29.9z"/>
|
||||
<path class="st5" d="M24.2,37.8c0.1,0.5-0.1,1-0.2,1.6c0.1,0.1,0.2,0.1,0.4,0.1c0.1-0.4,0.4-0.9,0.5-1.3c0.1-0.6-0.2-0.8-0.5-1.2
|
||||
c-0.3-0.5-0.2-0.5-0.3-1c0-0.3-0.1-0.7-0.2-1l-0.1-0.3c0-0.4-0.2-0.7-0.5,0.1c-0.2,0.5,0.1,1,0.2,1.4
|
||||
C23.7,36.8,24.1,37.2,24.2,37.8z"/>
|
||||
<path class="st6" d="M56.8,26.6c-0.3,0.2,0.3,0.9,0.6,1c0.6,0.1-0.3-0.8-0.4-1H56.8z"/>
|
||||
<path class="st6" d="M63.4,34.2c-0.1-0.2-0.3-0.2-0.5-0.2c-0.1-0.1-0.5-0.3-0.6-0.4c-0.2-0.3,0.2-0.4,0.2-0.7
|
||||
c0-0.3-0.1-0.2-0.4-0.3c-0.1,0-0.7,0-0.8,0.1c-0.1,0.1,0,0.7,0,0.9c0,0.3-0.2,0.6-0.2,0.9c0,0.3-0.2,1.1,0,1.3
|
||||
c-0.1,0.1-0.3,0.2-0.4,0.2c0.2,0.5,0.8,1,1.2,1.1c0.2,0.1,0.4,0.1,0.5,0l1.2-1.4c-0.1-0.2-0.2-0.3-0.2-0.6
|
||||
C63.3,34.8,62.9,34.5,63.4,34.2z"/>
|
||||
<path class="st6" d="M64.3,34.3c-0.3,0-0.4-0.2-0.3-0.4c0.2-0.4,1.5-0.8,1-1.5c-0.2,0.6-1.3,1-1.2,1.7c0.1,0.2,0.3,0.5,0.4,0.7
|
||||
c0,0.1,0.1,0.2,0.1,0.3l0.8-0.8C65,34.1,65,34,65,33.8C64.7,34,64.6,34.3,64.3,34.3z"/>
|
||||
<path class="st6" d="M51.1,41.1c0.1,0.1,0.2,0.3,0.3,0.4c0.2,0.1,0.2,0.2,0.4,0.2c0-0.3,0.3-0.6,0-0.9c-0.2-0.2-0.8-0.4-1.1-0.3v0
|
||||
C50.7,40.7,51,40.9,51.1,41.1z"/>
|
||||
<path class="st6" d="M61,38.2c-0.1,0-0.4-0.2-0.3,0c-0.2,0-0.3-0.1-0.5-0.1c-0.1,0-0.2,0.1-0.3,0.1c-0.1,0-0.1-0.2-0.2-0.2
|
||||
c-0.3-0.1-0.8,0-1.1-0.1c-0.5,0-0.9,0-1.3,0c-0.4,0-0.6,0-1,0.1c-0.2,0.1-0.3,0.2-0.5,0.1l0.2,0.2c0.2,0.3,1,0.3,1.3,0.3
|
||||
c0.3,0,0.5-0.1,0.8,0.1c0.2,0.2,0.3,0.2,0.6,0.3c0.5,0.1,1,0.4,1.6,0.4h0.1l1.1-1.2l0,0C61.3,38.2,61.1,38.2,61,38.2z"/>
|
||||
<path class="st7" d="M55.1,14.9c-0.4-0.5-0.8-0.8-0.8-1.4c-0.3,0.4-0.5,0.7-0.8,1.1C54,14.6,54.5,14.8,55.1,14.9z"/>
|
||||
<path class="st6" d="M44.2,39.5c0.2,0.3,0.6,0.2,0.9,0.2c0.1-0.3,0.1-0.6,0.1-0.9c0.4,0.2,0.6,0.6,1,0.9c0.4,0.5,1,0.6,1.5,0.9
|
||||
c0.5,0.2,1,0.5,1.6,0.7c0.4,0.2,0.8,0.5,1.2,0.5c0.1-0.2,0.2-0.4,0.2-0.6c0-1-0.9-1.3-1.3-2.1c-0.3-0.6-0.1-1.7,0-2.4
|
||||
c0.1-0.4,0-0.8,0-1.1c0-0.3,0.2-0.5,0.3-0.7c0.2-0.4,0.1-0.3,0.5-0.3c0.5,0.1,1.3,0.1,1.8,0.4c0.6,0.3,0.9,0.9,1.1-0.1
|
||||
c0.5,0.1,1.1,0.4,1.5,0.7c0.5,0.3,0.7,0.9,1.1,1.1c0.3,0.2,0.6,0.2,0.9,0.3c0.3,0.1,0.5,0.3,0.8,0.4c0.6,0.3,1.6,0.3,2.2,0
|
||||
c-0.2-0.3-0.7-0.4-1-0.6c-0.4-0.2-0.7-0.2-1.2-0.3c-0.5,0-1.1,0-1.5-0.3c-0.3-0.2-0.8-0.9-0.9-1.3c0.8-0.3,1.7,0.1,2.4,0.2
|
||||
c0.1-0.5,0.3-1.3,0.1-1.9c-0.3-0.7-1.1-0.8-1.8-0.9c-0.5,0-1.3-0.4-1.3-1c0-0.4,0.3-1,0.8-0.6c-0.2,0.4,0.5,0.8,0.7,0.5
|
||||
c0.3-0.4-0.4-0.6-0.5-0.7c-0.5-0.4,0.2-1,0.4-1.4c0.2-0.4,0.4-0.9,0.4-1.4c0-0.6-0.2-1.1-0.7-1.6c-0.3-0.2-0.8-0.7-1.1-0.9
|
||||
c-0.5-0.2-1.1-0.1-1.6-0.3c-0.4-0.2-0.4-0.8-0.4-1.2c-0.3,0.2-1.2,1.4-1.6,0.4c-0.2-0.5,0.3-1.1,0.8-0.6c0.1-0.1,0.5-0.6,0.6-0.6
|
||||
c0.2,0,0.3,0.2,0.5,0.2c0.3,0.1,0.5-0.1,0.7-0.1c0.2,0,0.4,0.1,0.6,0.1c0.4,0.1,0.7,0.3,1-0.1c0.1-0.2,0.2-0.5,0.1-0.6
|
||||
c-0.3-0.5-1.7-0.2-2.2-0.2c0-0.1,0-0.4,0-0.5c0-0.2-0.2-0.3-0.2-0.4c-0.1-0.4,0.2-0.7,0.2-1c0-1.2-1.1-2.1-2.2-2.6
|
||||
c-0.8,0.8-1.7,1.5-2.6,2.2c-4.2,2.9-7.3,3.1-8.2,4c-0.4,0.5-0.6,1-0.6,1.6c0,0.6,0.1,1.3,0.3,1.9c0.3,0.9,2,6.7,3.5,12.2
|
||||
c0.4,0,0.9-0.2,1.2-0.4C44.5,39.2,44.3,39.3,44.2,39.5z"/>
|
||||
<path class="st7" d="M52.4,17.6c0.5,0.1,1.2,0.7,1.6,0.2c-0.2-0.2-0.3-0.1-0.5-0.2c-0.3,0-0.5-0.1-0.8-0.2
|
||||
c0.1-0.1,0.3-0.2,0.4-0.3c-0.3-0.2-0.8,0-1.1,0c-0.2,0-0.4-0.1-0.5-0.1L51,17.4C51.5,17.4,52,17.5,52.4,17.6z"/>
|
||||
<path class="st6" d="M60.4,29.7c0-0.5,1,0.1,1.2-0.1c-0.1-0.1-0.2-0.2-0.3-0.2c0-0.2,0-0.3-0.1-0.4c-0.5,0.1-0.9,0.4-1.3,0
|
||||
c-0.2-0.2-0.2-0.4-0.4-0.5c-0.2-0.1-0.5-0.1-0.6,0.1c0,0.1,0.6,0.9,0.7,1c0.2,0.1,0.4,0,0.6,0.1c0.1,0.1,0.1,0.2,0.1,0.3
|
||||
c0.2,0.2,0.3,0.3,0.5,0.2l0,0C60.8,29.9,60.6,29.7,60.4,29.7z"/>
|
||||
<path class="st6" d="M61.4,30c0,0,0.1,0,0.2,0.1l-0.4,0C61.3,30,61.3,30,61.4,30c-0.1,0-0.2,0-0.2,0c0,0.2,0.3,0.4,0.4,0.5
|
||||
c0,0,0.1-0.1,0.1-0.2l0-0.1c0,0,0,0.1,0,0.1c0,0.1,0,0.2,0.1,0.3c0,0,0.2,0,0.2,0c0-0.1,0-0.1,0-0.1c0-0.1,0-0.1,0.2-0.2
|
||||
c0.1-0.1,0.2-0.1,0.1-0.3c-0.3,0-0.2,0-0.3-0.2c-0.1-0.1-0.1-0.2-0.2-0.1c0,0.1,0,0.1,0,0.2C61.7,30,61.6,29.9,61.4,30z"/>
|
||||
<path class="st7" d="M61.7,30.3c0,0,0-0.1,0-0.1L61.7,30.3z"/>
|
||||
<path class="st7" d="M61.6,30c0,0-0.1-0.1-0.2-0.1c-0.1,0-0.2,0-0.2,0.1L61.6,30z"/>
|
||||
<path class="st6" d="M66.3,32.3c0,0-0.1-0.1-0.1-0.1L66.3,32.3c-0.2-0.2-0.3-0.2-0.1-0.4c-0.1-0.1-0.2-0.3-0.3-0.4
|
||||
c0,0-0.1,0.1-0.1,0.1c0-0.2-0.1-0.5-0.3-0.4c-0.2,0.1-0.2,0.3-0.1,0.5C65.6,32,65.9,32.4,66.3,32.3z"/>
|
||||
<path class="st6" d="M57.2,23c0-0.1-0.3-0.5-0.4-0.6c-0.1-0.1-0.4,0.1-0.5,0c-0.1-0.3,0.5-0.1,0.6-0.1c0.4-0.1,0.2-0.6,0.1-0.8
|
||||
c0.2,0,0.3,0,0.5,0c-0.2-0.4,0.3-0.6,0.3-1.1c0.1-0.4-0.3-0.6-0.5-0.9c-0.3-0.4-0.6-0.7-1.1-0.7c-0.2,0-0.8,0.2-1-0.1
|
||||
c0.2-0.2,0.5-0.3,0.6-0.5c0-0.1,0.1-0.4,0.1-0.5c-0.2-0.4-1.6,0.3-1.9,0.5c0.1,0.3,0.4,0.2,0.5,0.3c0.1,0.1,0.2,0.2,0.2,0.3
|
||||
c0.1,0.4,0.4,0.2,0.8,0.4c0.3,0.1,0.7,0.3,0.9,0.5c0.1,0.1,0.4,1,0,0.8c-0.1,0.2,0.1,0.5-0.1,0.7c-0.2,0.3-0.4,0.5-0.5,0.8
|
||||
c0,0.2,0,1.2,0.3,1L56.2,23c0.1,0,0.1,0,0.2-0.1c0.1,0.1,0.4,0.2,0.6,0.3C57.1,23.3,57.3,23.3,57.2,23z"/>
|
||||
<path class="st6" d="M62.7,31.1c0.1,0.1,0.4,0.1,0.5,0.1c0.2,0,0.1,0.1,0.3,0.1c0.1,0,0.4-0.3,0.4-0.4c-0.3-0.1-0.3-0.4-0.5-0.6
|
||||
c-0.2-0.2-0.3-0.4-0.6-0.5c-0.6,0.1-0.6-0.2-1-0.5l-0.1,0c0.2,0.5,1,0.5,1.1,0.9c0.1,0.4-0.3,0.4-0.4,0.6c-0.1,0.2,0,0.5,0,0.6
|
||||
l0.1,0.3C62.5,31.4,62.5,31.2,62.7,31.1z"/>
|
||||
<path class="st6" d="M60.8,30.9c0,0.4,0,0.9,0.1,1.3c0.1,0,0.2-0.1,0.2-0.2L61,32C61.1,31.9,61.1,30.9,60.8,30.9z"/>
|
||||
<path class="st6" d="M67.3,31.1c-0.3,0.1-0.5,0.4-0.4,0.7c0.1,0.1,0.1,0.1,0.2,0.2l0.7-0.8C67.7,31.1,67.5,31,67.3,31.1z"/>
|
||||
<path class="st8" d="M34.7,25c-0.1-0.2-0.2-0.3-0.3-0.5C34.5,24.7,34.6,24.8,34.7,25z"/>
|
||||
<polygon class="st8" points="15.4,15.1 15.3,15.1 15.3,15.2 "/>
|
||||
<path class="st8" d="M30.7,29.2c-0.1-0.1-0.1-0.3-0.3-0.5c0,0.1,0,0.2,0.1,0.3C30.6,29.1,30.6,29.2,30.7,29.2z"/>
|
||||
<path class="st9" d="M25.2,34.4L25.2,34.4L25.2,34.4L25.2,34.4c-0.1-0.1-0.1-0.2-0.2-0.3c0.1-0.5,0.6-1.2,1.1-0.9
|
||||
C25.9,33.7,25.6,34.1,25.2,34.4z M24.3,39.5c-0.1,0-0.3-0.1-0.3-0.1c0.1-0.6,0.4-1.1,0.2-1.6c-0.1-0.5-0.5-1-0.8-1.6
|
||||
c-0.2-0.4-0.4-1-0.2-1.4c0.3-0.8,0.4-0.5,0.5-0.1l0.1,0.3c0.1,0.3,0.2,0.7,0.2,1c0,0.5-0.1,0.5,0.3,1c0.3,0.4,0.6,0.6,0.5,1.2
|
||||
C24.7,38.7,24.5,39.2,24.3,39.5z M22.1,25.7c0,0-0.1-0.1-0.1-0.1L22.1,25.7L22.1,25.7z M33,30.9c-0.1,0-0.3,0-0.4,0
|
||||
c-0.2,0-0.3,0-0.5,0c-0.5-0.1-1.1-0.3-1.5-0.6c0.2-0.4,0.2-0.7,0-1c-0.1-0.1-0.1-0.1-0.2-0.2c-0.1-0.1-0.1-0.2-0.1-0.3
|
||||
c-0.5-0.8-0.6-1.3-0.6-2.2c0-0.5-0.1-1-0.1-1.5c0-1.1,0-2.2-0.2-3.3c0.6,0.5,1.2,1.7,1.5,2.5c0.2,0.6,0.1,1.3,0.1,1.9
|
||||
c0,0.6,0.3,1.2,0.3,1.8c0.1,0.9-0.5,1.6,0.7,1.6c1.1,0.1,2.6,0,3.7-0.4c-0.2-1-0.3-1.7-0.4-2c-0.1-0.4-0.2-1.3-0.7-2.1
|
||||
c-0.1-0.1-0.2-0.3-0.3-0.5c-0.1-0.2-0.3-0.5-0.5-0.7c-0.4-0.4-1-0.9-1.8-1.2c-3-1.1-12.9-5.8-16.7-7.5l-0.1,0
|
||||
c-0.1,0.1-0.2,0.2-0.3,0.3c0,0.1-0.1,0.2-0.1,0.2v0c-0.3,0.2-0.6,0.2-1,0.4c-0.3,0.2-0.6,0.5-0.9,0.8c-0.5,0.4-1.2,0.7-1.5,1.2
|
||||
c-0.2,0.3-0.1,0.6-0.2,0.9c-0.1,0.5-0.4,0.7-0.6,1.1c-0.4,0.8-0.3,1.3-0.1,2.2c0.2,0.8,0.4,1.6,0.7,2.4c0.3,0.7,0.7,1,1.3,1.4
|
||||
l0.2,0.1c0.9,0.5,1.8,0.4,2.7,0.6c0.3,0.1,0.8,0.1,1,0.3c0.3,0.3,0.3,0.8,0.7,1.1c0.2,0.2,0.4,0.2,0.5,0.4c0,0,0,0.1,0.1,0.1
|
||||
c0.1,0.3-0.1,0.9-0.2,1.2c-0.2,0.9-0.3,1.3-0.1,2.2c0.2,0.9,0.4,1.5,0,2.3c-0.3,0.7-0.6,1.4-1.1,2c-0.1,0.1-0.1,0.1-0.2,0.2
|
||||
c-0.3,0.3-0.6,0.5-0.7,1c0,0.2,0,0.4,0,0.5c0.1,0.5,0.3,0.9,0.3,1.4c0,0.3,0,0.7-0.1,1c-0.1,0.7-0.1,1.3,0,2l0,0.2l0.6,0.3
|
||||
l3.7,1.7l0.2,0.1l0.3-0.5c0.1-0.2,0.3-0.4,0.5-0.6c0.1-0.1,0.2-0.2,0.3-0.2c0.5-0.2,1-0.2,1.4-0.8c0.2-0.2,0.2-0.6,0.3-0.9
|
||||
c0.1-0.1,0.1-0.2,0.2-0.3c0.2-0.2,0.4-0.3,0.7-0.3c0.2,0,0.3-0.1,0.5-0.1c0.9-0.4,1.6-0.8,1.9-1.8c0.3-0.8,0.4-1.6,0.6-2.4
|
||||
c0.2-1,0.3-1.1,1.1-1.7c0.4-0.3,0.8-0.7,1.2-1c0.7-0.4,1.5-0.4,2.3-0.8c0.7-0.3,2.6-1.5,2.3-2.6C33.5,30.8,33.3,30.8,33,30.9z"/>
|
||||
<path class="st8" d="M22.1,25.7L22,25.6C22,25.6,22,25.7,22.1,25.7L22.1,25.7z"/>
|
||||
<path class="st10" d="M26.5,45l-0.1,0.1c-0.5,0-1,0.1-1.1-0.6c0-0.1,0-0.3,0-0.4c0.1-0.5,0.7-0.9,1-1.3c0.4-0.7,0.3-1,0.9-1.4
|
||||
c0.7-0.4,1.3-0.6,1.9-1.1c0.1,0.1,0.1,0.2,0.1,0.3C29.5,42.1,27.4,44.5,26.5,45z M41.5,49.7l0-0.2c-1-3-3.5-12.2-3.5-12.2l0-0.1
|
||||
c-1.1-3.8-1.7-6.3-2.1-7.9l-0.1-0.3c-1.1,0.4-2.6,0.5-3.7,0.4c-1.2-0.1-0.6-0.7-0.7-1.6c0-0.6-0.3-1.2-0.3-1.8
|
||||
c0-0.6,0.1-1.3-0.1-1.9c-0.2-0.8-0.8-2-1.5-2.5c0.2,1.1,0.2,2.2,0.2,3.3c0,0.5,0,1,0.1,1.5c0.1,0.9,0.1,1.4,0.6,2.2
|
||||
c0.1,0.2,0.2,0.3,0.3,0.5c0.1,0.3,0.1,0.5,0,1c0.4,0.3,1,0.5,1.5,0.6l0.9,0c0.3,0,0.5-0.1,0.8,0c0.3,1.1-1.5,2.3-2.3,2.6
|
||||
c-0.8,0.3-1.6,0.4-2.3,0.8c-0.4,0.3-0.8,0.7-1.2,1c-0.8,0.6-0.9,0.7-1.1,1.7c-0.2,0.8-0.4,1.7-0.6,2.4c-0.3,0.9-1,1.4-1.9,1.8
|
||||
c-0.2,0.1-0.3,0.1-0.5,0.1c-0.2,0-0.5,0.1-0.7,0.3c-0.1,0.1-0.1,0.2-0.2,0.3c-0.1,0.3-0.2,0.7-0.3,0.9c-0.4,0.7-0.9,0.6-1.4,0.8
|
||||
c-0.1,0-0.2,0.1-0.3,0.2c-0.2,0.2-0.4,0.4-0.5,0.6c-0.1,0.2-0.2,0.3-0.3,0.5c9.1,4.2,18.3,8.5,19,8.7c0.7,0.2,1.4,0,1.8-0.5
|
||||
c0.3-0.3,0.5-0.8,0.6-1.4L41.5,49.7z"/>
|
||||
<path class="st6" d="M29.2,40.7c0-0.1-0.1-0.2-0.1-0.3c-0.7,0.5-1.3,0.7-1.9,1.1c-0.7,0.3-0.5,0.7-0.9,1.4c-0.3,0.5-0.9,0.8-1,1.3
|
||||
c0,0.1,0,0.2,0,0.4c0.2,0.7,0.7,0.5,1.1,0.6l0.1-0.1C27.4,44.5,29.5,42.1,29.2,40.7z"/>
|
||||
<path class="st11" d="M47.1,8.8c-0.5,0.1-1,0.6-1.5,0.5c0.1,0.4,0.9,1.2,1.3,1.2l-0.2-0.2c0.4-0.7-0.1-1,1-1
|
||||
c0.7,0,1.1,0.2,1.7,0.4C49.3,9.2,47.8,8.7,47.1,8.8z"/>
|
||||
<path class="st6" d="M29.9,7.2c0.2-0.1,0.3-0.3,0.5-0.5c-0.1-0.1-0.3-0.3-0.5-0.5c0.1,0,0.3-0.2,0.4-0.2c-0.4-0.2-1.1,0.4-1.1,0.7
|
||||
c0,0.3,0.4,0.7,0.2,1c-0.1,0.2-0.5-0.1-0.5,0.4c-0.1,0-0.1-0.1-0.2-0.1c-0.2,0.2-0.1,0.4,0,0.6c-0.3,0.1-0.5,0-0.9,0.1
|
||||
C27.9,8.8,28,8.9,28.1,9l0-0.2c0.3,0.2,1.8,0.8,2.1,0.5C30.6,8.9,30.1,7.6,29.9,7.2z"/>
|
||||
<path class="st9" d="M37.1,14.4L37.1,14.4C37,14.4,37,14.3,37,14.3L37.1,14.4z M50.3,11.5c-0.1-0.1-0.8,0.1-0.9,0.3
|
||||
c-0.3,0.4,0.2,0.6,0,1.1c-0.7-0.7-1.4-1.3-2.2-1.8c0.1,0.1,0,0.3,0.1,0.4l-0.4-0.2c0,0.1-0.1,0-0.1,0.1l0.1,0.1h0l-0.4-0.2
|
||||
c0.1-0.1,0.1-0.1,0.1-0.1c-0.1,0-0.2-0.1-0.4-0.1c-0.1,0-0.3-0.1-0.4-0.2l0,0l-0.2-0.1c-0.6-0.4-0.9-0.3-1.6-0.3
|
||||
c0.3-0.4,0.1-0.7-0.3-0.8c-0.3,0.7-0.1,0.5-0.8,0.6c-0.4,0.1-0.7,0.3-1.1-0.1c0,0.1-0.1,0.2-0.2,0.2C41.2,10,41.2,9.3,41,8.9
|
||||
c0.6,0.2,0.8,1,1.4,1.3c0.5-0.4,0.2-0.8-0.1-1.2c-0.3-0.4-1-1.3-1.4-1.5l-0.3-0.3c-0.2-0.3-0.5-0.8-0.8-1c-0.2-0.1-0.5,0.1-0.7,0
|
||||
c-0.9-0.3-1-0.8-2-0.4c-1,0.4-2,0.5-3,0.8c-0.5,0.1-0.9,0-1.2,0.4c-0.3,0.3-0.3,0.9,0,1.2c0.4,0.4,0.9,0.1,1.1,0.5
|
||||
c0.2,0.4,0.1,1.1-0.4,0.9c-0.5,0.6,1,0.7,1.4,0.5c0.2-0.1,0.4-0.4,0.6-0.6c0.2-0.1,0.5-0.1,0.6-0.4c0.3-0.5-0.1-1,0.8-1.2
|
||||
c0.6-0.1,1.3,0,1.8,0.2c-0.3,0.6-1.2,0.2-1.6,0.7c-0.5,0.7,0.3,1.1,0.8,1.3c0.5,0.2,1.5,1.1,0.4,0.6c-0.3-0.1-0.7-0.7-1.1-0.5
|
||||
c-0.2,0.2,0.1,0.5-0.1,0.8c-0.9-0.1-0.4-0.9-1.1-0.2c-0.7,0.6-0.4,0.4-1.3-0.1c-0.4-0.2-1.5-0.3-1.7-0.8c-0.2-0.4,0.4-0.8,0.5-1.1
|
||||
c-0.3-0.1-0.6-0.1-0.8,0.1c-0.2,0.2-0.1,0.7-0.1,0.8c-0.2,0.1-0.5-0.1-0.8-0.1c-0.3-0.1-0.5,0-0.9,0.1c-0.5,0.1-1.1,0.5-1.7,0.5
|
||||
c-0.4,0-0.6-0.2-0.9-0.4c-0.3-0.1-0.6,0-0.8-0.2c0.3,0.8,0.9,1.4,0,2c-0.7,0.5-1.2-0.3-1.8-0.6C25,10.4,25,11,24.5,11.6
|
||||
c-0.3,0.3-1,0.5-0.8,1.2c0.2,0.6,1,0.9,1.5,1c0.9,0.2,0.9,0.3,1.6-0.2c0.5-0.4,1-0.2,1.5-0.5c0.3-0.1,0.3-0.4,0.7-0.4
|
||||
c0.3,0,0.6,0.4,0.9,0.5c0.6,0.2,0.8-0.1,1,0.7c0.2,0.5,0.2,0.8,0.5,1.2c0.2,0.3,0.5,1,0,1.2c-0.4,0.2-0.7-0.4-1.1-0.1
|
||||
c0.2,0.4,0,1.1,0.8,0.9c-0.1,0,0.5-0.4,0.5-0.4c0.2-0.2,0.3-0.3,0.4-0.6c0.2,0.2,0.3,0.3,0.5,0.4c0.4-0.8-1.4-2.1-0.9-3
|
||||
c0.5,0.1,0.6,1,0.9,1.4c0.1,0.2,0.5,0.5,0.5,0.8c0,0.3-0.1,0.4-0.2,0.7c0,0.4,0.1,0.8,0,1.2c-0.1,0.4-0.5,0.9,0.2,1
|
||||
c0-0.1,0.2-0.2,0.2-0.4c0.2,0.1,0.4,0.2,0.6,0.2c0.2-0.5-0.3-1,0-1.5c0.7,0.5,1.3,0.5,1.9,1.1c-0.4,0-1-0.5-1.3,0
|
||||
c-0.1,0.1,0,0.9,0.1,1.1c0,0,0,0,0,0.1c0.8,0.2,1.5,0.3,2.1,0.4c0.5,0,1.1,0,1.7-0.1c-0.1-0.1-0.3-0.2-0.4-0.4c0-0.1,0-0.3,0-0.4
|
||||
c-0.4-0.9-1.5-0.2-2-0.8c-0.9-1,1.4-2.2,1.9-1.3l-0.2,0c-0.1,0.3,0.1,0.4,0.1,0.7c0.1,0,0.8,0.2,0.9,0.2c0.3-0.2-0.2-0.5-0.3-0.6
|
||||
c0.1-0.5,1,0.3,1.1,0.4c-0.1,0.1-0.3,0.2-0.5,0.3c0.1,0.5,0.3,0.7,0.6,1.2c0.1,0.1,0.2,0.3,0.2,0.5c2.2-0.6,4.8-1.7,6.6-3
|
||||
c1.5-1.1,3-2.7,4.2-4.3C50.5,11.7,50.4,11.6,50.3,11.5z"/>
|
||||
<path class="st11" d="M45,9.9c-0.1,0-0.2,0.1-0.3,0.2c0.2,0.2,0.4,0.2,0.5-0.1C45.2,10,45.1,9.9,45,9.9L45,9.9z"/>
|
||||
<path class="st11" d="M46.2,11l-0.1-0.1c0-0.1,0.1,0,0.1-0.1c-0.2-0.1-0.2-0.1-0.4,0.1L46.2,11L46.2,11z"/>
|
||||
<path class="st12" d="M26.8,15c-0.5-0.1-1-0.1-1.5-0.3c-0.5-0.2-0.6-0.7-1-0.8c-0.5-0.1-1.1,0.1-1.6,0.3l0,0c2.1,1,4.5,2.1,6.6,3
|
||||
c0.1-0.1,0.2-0.2,0.2-0.4C29.6,15.7,27.5,15.1,26.8,15z"/>
|
||||
<path class="st11" d="M46.8,11.3L46.8,11.3c-0.2-0.1-0.2-0.2-0.3-0.1c0,0-0.1,0.1-0.1,0.1l0.4,0.2h0V11.3
|
||||
C46.7,11.3,46.8,11.4,46.8,11.3z"/>
|
||||
<path class="st11" d="M37.1,14.4L37,14.3C37,14.3,37,14.4,37.1,14.4L37.1,14.4z"/>
|
||||
<path class="st13" d="M49.5,9.8c-0.6-0.2-1-0.4-1.7-0.4C47.8,9.4,49.3,9.1,49.5,9.8z M44.8,10.1c0.1-0.1,0.2-0.2,0.3-0.2l-0.1,0
|
||||
c0.1,0,0.2,0.1,0.3,0.2C45.2,10.3,45,10.3,44.8,10.1z M30.2,9.3c-0.4,0.3-1.8-0.3-2.1-0.5l0,0.2c-0.1-0.1-0.2-0.1-0.3-0.3
|
||||
c0.3-0.1,0.6,0,0.9-0.1c-0.2-0.2-0.2-0.4,0-0.6c0.1,0,0.1,0.1,0.2,0.1c0-0.5,0.4-0.2,0.5-0.4c0.1-0.3-0.3-0.7-0.2-1
|
||||
c0.1-0.3,0.7-0.9,1.1-0.7c-0.1,0-0.3,0.2-0.4,0.2c0.2,0.2,0.3,0.3,0.5,0.5c-0.1,0.2-0.3,0.3-0.5,0.5C30.1,7.6,30.6,8.9,30.2,9.3z
|
||||
M27.2,7.7c-0.1,0-0.2-0.1-0.3-0.2c0.1-0.2,0.4-0.3,0.6-0.2c0-0.2,0-0.4-0.1-0.6c0.2,0,0.8,0,0.9,0c0.3,0.1,0.6,0.5,0.2,0.5
|
||||
l-0.1,0c-0.1,0.2-0.2,0.3-0.3,0.5c-0.2,0-0.4,0-0.6,0C27.4,7.8,27.3,7.7,27.2,7.7z M52.3,5.3c-1.1-0.5-14.8-4.6-16-5.1
|
||||
c-0.5-0.2-1-0.3-1.5-0.3c-0.8,0-1.7,0.2-2.3,0.7c-0.9,0.8-4.4,5.1-8.4,7c-3.6,1.7-4.9,1.5-6.2,1.8c-0.6,0.2-0.9,0.7-1,0.9
|
||||
c-0.1,0.4,0,1,1,1.5c0.6,0.3,2.1,1,4.7,2.3l0,0c0.4-0.2,1.1-0.4,1.6-0.3c0.4,0.1,0.6,0.6,1,0.8c0.5,0.2,1,0.2,1.5,0.3
|
||||
c0.7,0.1,2.9,0.8,2.7,1.8c0,0.2-0.1,0.3-0.2,0.4c1.6,0.7,3.1,1.3,4,1.6c0.5,0.2,1,0.3,1.4,0.4l0-0.1c-0.1-0.2-0.2-0.9-0.1-1.1
|
||||
c0.3-0.5,0.8,0,1.3,0c-0.6-0.6-1.2-0.6-1.9-1.1c-0.3,0.5,0.3,1,0,1.5c-0.2,0-0.4-0.1-0.6-0.2c0,0.1-0.2,0.2-0.2,0.4
|
||||
c-0.7-0.2-0.3-0.6-0.2-1c0.1-0.4-0.1-0.8,0-1.2c0-0.3,0.2-0.4,0.2-0.7c0-0.3-0.4-0.5-0.5-0.8c-0.2-0.4-0.4-1.3-0.9-1.4
|
||||
c-0.5,1,1.3,2.2,0.9,3c-0.3-0.1-0.4-0.3-0.5-0.4c-0.1,0.2-0.3,0.4-0.4,0.6c0,0-0.6,0.4-0.5,0.4c-0.8,0.2-0.6-0.5-0.8-0.9
|
||||
c0.4-0.3,0.7,0.4,1.1,0.1c0.5-0.3,0.2-0.9,0-1.2c-0.3-0.5-0.3-0.7-0.5-1.2c-0.2-0.8-0.4-0.5-1-0.7c-0.3-0.1-0.6-0.5-0.9-0.5
|
||||
c-0.4,0-0.4,0.2-0.7,0.4c-0.5,0.2-1,0.1-1.5,0.5c-0.7,0.5-0.7,0.5-1.6,0.2c-0.5-0.1-1.3-0.4-1.5-1c-0.2-0.7,0.4-0.9,0.8-1.2
|
||||
c0.5-0.5,0.5-1.1,1.3-0.7c0.7,0.3,1.1,1.1,1.8,0.6c0.9-0.6,0.3-1.2,0-2c0.2,0.1,0.5,0.1,0.8,0.2c0.4,0.1,0.5,0.4,0.9,0.4
|
||||
c0.6,0,1.2-0.3,1.7-0.5c0.4-0.1,0.6-0.1,0.9-0.1c0.2,0,0.6,0.3,0.8,0.1c0.1-0.1-0.1-0.6,0.1-0.8c0.2-0.2,0.6-0.2,0.8-0.1
|
||||
c-0.2,0.4-0.7,0.8-0.5,1.1c0.2,0.5,1.4,0.6,1.7,0.8c0.9,0.4,0.7,0.7,1.3,0.1c0.7-0.7,0.3,0.1,1.1,0.2c0.2-0.2-0.1-0.6,0.1-0.8
|
||||
c0.3-0.3,0.8,0.4,1.1,0.5c1,0.4,0.1-0.4-0.4-0.6c-0.5-0.2-1.3-0.6-0.8-1.3c0.4-0.5,1.3-0.1,1.6-0.7c-0.5-0.2-1.2-0.3-1.8-0.2
|
||||
c-0.9,0.2-0.5,0.7-0.8,1.2c-0.2,0.3-0.5,0.3-0.6,0.4c-0.2,0.1-0.3,0.4-0.6,0.6c-0.4,0.2-1.9,0.1-1.4-0.5c0.5,0.2,0.7-0.6,0.4-0.9
|
||||
C33.9,8.1,33.4,8.4,33,8c-0.3-0.3-0.3-0.9,0-1.2c0.3-0.4,0.8-0.3,1.2-0.4c1-0.2,2-0.4,3-0.8c1-0.3,1,0.1,2,0.4
|
||||
c0.2,0.1,0.5-0.1,0.7,0c0.3,0.2,0.5,0.7,0.8,1L41,7.4c0.4,0.2,1.1,1.1,1.4,1.5c0.3,0.4,0.6,0.9,0.1,1.2c-0.6-0.3-0.8-1.1-1.4-1.3
|
||||
c0.1,0.5,0.2,1.1,0.6,1.4c0-0.1,0.1-0.2,0.2-0.2c0.4,0.4,0.7,0.2,1.1,0.1c0.7-0.1,0.5,0.1,0.8-0.6c0.4,0.2,0.6,0.5,0.3,0.8
|
||||
c0.6,0,1-0.1,1.6,0.3l0.2,0.1c0.2-0.2,0.2-0.2,0.4-0.1c0.1,0.1-0.1,0.1-0.1,0.1l0.1,0.1h0c0.1,0.1,0.2,0.1,0.4,0.1
|
||||
c0.1,0,0.1,0,0.3,0.1l0,0l0.4,0.2c0-0.1,0-0.3-0.1-0.4c0.8,0.5,1.5,1.1,2.2,1.8c0.2-0.5-0.3-0.7,0-1.1c0.1-0.1,0.8-0.3,0.9-0.3
|
||||
c0.1,0.1,0.2,0.3,0.3,0.5c1.7-2.3,2.9-4.6,2.8-5.2C53.2,6.1,53,5.6,52.3,5.3z"/>
|
||||
<path class="st6" d="M28.3,6.7c-0.2-0.1-0.7,0-0.9,0c0.1,0.2,0.1,0.4,0.1,0.6c-0.3,0-0.5,0-0.6,0.2c0.1,0.1,0.2,0.2,0.3,0.2
|
||||
c0.1,0.1,0.2,0.1,0.3,0.1c0.2,0,0.4-0.1,0.6,0c0.1-0.2,0.2-0.4,0.3-0.5l0.1,0C28.9,7.1,28.6,6.8,28.3,6.7z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 5.7 KiB |
99
oem/firstvoices/android/app/src/main/assets/setup/main.html
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>FirstVoices Keyboards installation</title>
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
||||
<meta content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0" name="viewport">
|
||||
<link rel="stylesheet" type="text/css" href="android-instructions.css" />
|
||||
<script language="JavaScript">
|
||||
function showSetup() {
|
||||
window.jsInterface.showSetup();
|
||||
}
|
||||
|
||||
function showRegionList() {
|
||||
window.jsInterface.showRegionList();
|
||||
}
|
||||
|
||||
function setCheckBox1On() {
|
||||
var checkbox1 = document.getElementById("checkbox1");
|
||||
if (checkbox1.src != "check-on.png") {
|
||||
checkbox1.src = "check-on.png";
|
||||
checkbox1.style.opacity = 1.0;
|
||||
}
|
||||
}
|
||||
|
||||
function setCheckBox1Off() {
|
||||
var checkbox1 = document.getElementById("checkbox1");
|
||||
if (checkbox1.src != "check-off.png") {
|
||||
checkbox1.src = "check-off.png";
|
||||
checkbox1.style.opacity = 0.25;
|
||||
}
|
||||
}
|
||||
|
||||
function setCheckBox2On() {
|
||||
var checkbox2 = document.getElementById("checkbox2");
|
||||
if (checkbox2.src != "check-on.png") {
|
||||
checkbox2.src = "check-on.png";
|
||||
checkbox2.style.opacity = 1.0;
|
||||
}
|
||||
}
|
||||
|
||||
function setCheckBox2Off() {
|
||||
var checkbox2 = document.getElementById("checkbox2");
|
||||
if (checkbox2.src != "check-off.png") {
|
||||
checkbox2.src = "check-off.png";
|
||||
checkbox2.style.opacity = 0.25;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<div id="instructions">
|
||||
<div id="logo">
|
||||
<img src="firstvoices-logo.gif" alt="FirstVoices" />
|
||||
<p>Keyboards</p>
|
||||
</div>
|
||||
|
||||
<h2>Installation instructions</h2>
|
||||
<div class="steps">
|
||||
<div class="step">
|
||||
<div class="step-number"><span>1</span></div>
|
||||
<div class="step-instruction">
|
||||
<p><input type="button" value="Select keyboards" onclick="showRegionList()" id="button1" /> <img src="check-off.png" alt="CheckBox" class="checkicon" id="checkbox1" /></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="step">
|
||||
<div class="step-number"><span>2</span></div>
|
||||
<div class="step-instruction">
|
||||
<p><input type="button" value="Setup" onclick="showSetup()" id="button2" /> <img src="check-off.png" alt="CheckBox" class="checkicon" id="checkbox2" /></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<h2>To use FirstVoices Keyboards</h2>
|
||||
<p>After completing these steps above, selected FirstVoices keyboards will be available on your Android device.</p>
|
||||
</div>
|
||||
|
||||
<div id="supporters">
|
||||
<p>FirstVoices gratefully acknowledges the following supporters of this project:</p>
|
||||
<a href="http://www.newrelationshiptrust.ca/"><img src="nrt.svg" alt="" /></a>
|
||||
<a href="http://www.fpcc.ca/"><img src="fpcc.svg" alt="" /></a>
|
||||
<a href="http://www.languagegeek.com/"><img src="languagegeek.png" alt="" /></a>
|
||||
</div>
|
||||
|
||||
<div id="donation">
|
||||
<p>If you like this app please consider supporting FirstVoices by donating to the First Peoples' Cultural Foundation</p>
|
||||
<p><a href="http://fpcf.ca/donate-now/">Donate</a></p>
|
||||
</div>
|
||||
|
||||
<div id="footer">
|
||||
<h2>Developed by</h2>
|
||||
<img src="keyman.svg" alt="" />
|
||||
<p>SIL International</p>
|
||||
<p><a href="http://www.keyman.com">www.keyman.com</a></p>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
96
oem/firstvoices/android/app/src/main/assets/setup/nrt.svg
Normal file
|
After Width: | Height: | Size: 19 KiB |
|
|
@ -0,0 +1,548 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
|
||||
<metadata></metadata>
|
||||
<defs>
|
||||
<font id="nunitoregular" horiz-adv-x="1163" >
|
||||
<font-face units-per-em="2048" ascent="1638" descent="-410" />
|
||||
<missing-glyph horiz-adv-x="581" />
|
||||
<glyph unicode=" " horiz-adv-x="581" />
|
||||
<glyph unicode="	" horiz-adv-x="581" />
|
||||
<glyph unicode=" " horiz-adv-x="581" />
|
||||
<glyph unicode="!" horiz-adv-x="791" d="M360 458q2 -27 17 -42.5t35 -15.5t35 15t17 43l55 934v8q0 44 -31.5 68t-74.5 24t-74.5 -24t-31.5 -68v-8zM415 -5q52 0 84 32t32 76q0 43 -32.5 74.5t-83.5 31.5q-52 0 -84 -32t-32 -74q0 -44 32 -76t84 -32z" />
|
||||
<glyph unicode=""" horiz-adv-x="669" d="M471 985q23 0 39.5 16.5t19.5 52.5l28 355q1 33 -24.5 51.5t-61.5 18.5t-62.5 -19t-24.5 -51q0 -1 5 -67.5t12 -155t11 -132.5q6 -69 58 -69zM190 985q23 0 39.5 16.5t19.5 52.5l29 355q1 33 -25 51.5t-62 18.5q-37 0 -63 -19t-24 -55q0 -46 28 -351q3 -36 19 -52.5 t39 -16.5z" />
|
||||
<glyph unicode="#" horiz-adv-x="1186" d="M453 592l39 270h258l-40 -270h-257zM296 -48q26 0 47 17t25 47l65 439h258q-5 -35 -22 -153t-28.5 -197t-11.5 -80v-9q0 -31 21 -47.5t49 -16.5q26 0 46.5 16.5t25.5 47.5l65 439h143q33 0 51 20t18 48t-18 48.5t-51 20.5h-123l40 270h140q33 0 51 20t18 48t-18 48.5 t-51 20.5h-121q58 370 58 393v7q0 30 -21 46t-50 16q-27 0 -48.5 -16.5t-26.5 -47.5l-58 -398h-257q6 40 21 142t26 177l11 74v8q0 29 -21 45t-50 16q-27 0 -48.5 -16.5t-26.5 -47.5l-58 -398h-161q-33 0 -50.5 -20t-17.5 -48t18 -48.5t50 -20.5h141l-39 -270h-158 q-33 0 -51 -20t-18 -48t18.5 -48.5t50.5 -20.5h139q-6 -43 -22.5 -155t-27.5 -193l-12 -81q0 -2 -0.5 -5.5t-0.5 -4.5q0 -31 21 -47.5t50 -16.5z" />
|
||||
<glyph unicode="$" horiz-adv-x="1246" d="M574 0q0 -30 18 -46t43 -16q26 0 45 16.5t19 45.5v205q149 15 237.5 91t88.5 211q0 108 -64.5 177.5t-215.5 106.5l-173 43q-109 27 -142 51.5t-33 84.5q0 73 64 108t172 35q29 0 58.5 -3.5t52 -8.5t49 -13t40.5 -13t36 -13.5t27 -10.5q16 -6 31 -6q17 0 30 8t20 20.5 t7 27.5q0 17 -10 33t-29 26q-110 59 -252 73v205q0 29 -19 45.5t-45 16.5q-25 0 -43 -16t-18 -46v-204q-40 -3 -77 -9.5t-71 -18t-63 -27.5t-53 -38t-40.5 -48t-25.5 -59t-9 -71t7.5 -69.5t19.5 -55t34 -43t44 -33.5t56.5 -27t64.5 -21.5t76 -20.5l177 -44q44 -11 75 -25 t51 -33t29 -42t9 -54q0 -42 -18.5 -75t-51.5 -54t-77.5 -31.5t-97.5 -10.5q-153 1 -290 86q-23 14 -46 14q-17 0 -31 -8.5t-21.5 -22t-7.5 -28.5t7.5 -29t22.5 -25q52 -38 136 -68.5t177 -38.5v-204z" />
|
||||
<glyph unicode="%" horiz-adv-x="2067" d="M1515 -32q104 0 182.5 53.5t118 141.5t39.5 196q0 74 -20.5 142t-60 124t-107 89.5t-152.5 33.5q-155 0 -248 -111.5t-93 -277.5q0 -170 91.5 -280.5t249.5 -110.5zM1515 82q-68 0 -112.5 41t-61.5 100.5t-17 135.5t17 135.5t61.5 100.5t112.5 41q51 0 89 -23t59.5 -63 t31.5 -87.5t10 -103.5q0 -77 -17.5 -136.5t-61.5 -100t-111 -40.5zM551 631q156 0 249 111.5t93 278.5q0 74 -20.5 142t-60.5 124.5t-107.5 90t-153.5 33.5q-156 0 -248 -112t-92 -278q0 -171 91.5 -280.5t248.5 -109.5zM551 743q-67 0 -111 41t-61.5 101t-17.5 136 t17.5 135.5t61.5 100t111 40.5q68 0 112.5 -40.5t62 -100t17.5 -135.5t-17.5 -136t-62 -101t-112.5 -41zM609 -70q33 0 54 38l779 1374q13 26 13 42q0 24 -17 41.5t-40 17.5q-36 0 -58 -39l-781 -1382q-12 -21 -12 -35q0 -24 19 -40.5t43 -16.5z" />
|
||||
<glyph unicode="&" horiz-adv-x="1523" d="M610 953q-155 157 -155 274q0 71 51.5 106t126.5 35q70 0 121.5 -37t51.5 -104q0 -28 -10 -56t-21 -48.5t-36.5 -48t-39 -41t-46.5 -42.5t-43 -38zM647 123q-92 0 -171 35t-130 106.5t-51 165.5q0 164 281 314l425 -455q-156 -166 -354 -166zM989 1235q0 68 -30 121.5 t-79.5 85.5t-108 48.5t-120.5 16.5q-105 0 -190 -30t-139.5 -95t-54.5 -155q0 -97 51.5 -180.5t144.5 -182.5q-80 -43 -138 -84t-113.5 -97t-84.5 -126t-29 -152q0 -204 151 -318.5t403 -114.5q142 0 251 53t202 156l149 -161q26 -30 59 -30q36 0 67.5 30.5t31.5 67.5 q0 24 -25 53l-156 167q81 134 121.5 290.5t40.5 256.5q0 35 -25.5 55.5t-59.5 20.5q-31 0 -53.5 -16.5t-26.5 -49.5q-4 -106 -35.5 -221t-80.5 -216l-391 416q59 44 101.5 81.5t83.5 86.5t62 105.5t21 117.5z" />
|
||||
<glyph unicode="'" horiz-adv-x="593" d="M295 985q55 0 60 58l28 366q0 33 -25 51.5t-61 18.5t-62 -18.5t-26 -51.5q0 -1 5.5 -70.5t12.5 -161t11 -134.5q4 -58 57 -58z" />
|
||||
<glyph unicode="(" horiz-adv-x="606" d="M430 -225q29 0 49.5 19t20.5 49q0 14 -8 36q-147 406 -147 751q0 349 149 758q7 17 7 35q0 30 -21 50t-50 20q-51 0 -76 -63q-95 -230 -147.5 -422.5t-52.5 -378.5q0 -189 53.5 -381.5t150.5 -421.5q23 -51 72 -51z" />
|
||||
<glyph unicode=")" horiz-adv-x="606" d="M177 -226q49 0 73 52q97 228 150.5 421t53.5 381q0 187 -52.5 379.5t-147.5 422.5q-28 62 -75 62q-29 0 -50.5 -20t-21.5 -49q0 -16 8 -35q148 -412 148 -758q0 -351 -147 -751q-8 -21 -8 -37q0 -29 20.5 -48.5t48.5 -19.5z" />
|
||||
<glyph unicode="*" horiz-adv-x="1084" d="M430 779l111 201l112 -201q19 -36 53 -36q25 0 45.5 20t20.5 47q0 18 -10 35l-117 191l236 -8q31 0 48 18.5t17 44.5t-17 44.5t-48 18.5l-235 -9l121 194q9 17 9 33q0 27 -19 47t-45 20q-35 0 -58 -37l-113 -205l-114 206q-20 35 -54 35q-26 0 -46.5 -19.5t-20.5 -46.5 q0 -18 10 -35l119 -192l-231 9q-31 0 -48.5 -19t-17.5 -44q0 -26 17.5 -44.5t48.5 -18.5l234 8l-120 -193q-10 -16 -10 -34q0 -27 20.5 -46.5t46.5 -19.5q34 0 55 36z" />
|
||||
<glyph unicode="+" horiz-adv-x="1333" d="M666 4q32 0 53 22.5t21 53.5v346h361q33 0 56 20.5t23 51.5q0 32 -23.5 51.5t-55.5 19.5h-361v349q0 33 -21 55t-53 22q-33 0 -53.5 -22.5t-20.5 -54.5v-349h-360q-34 0 -56.5 -19.5t-22.5 -51.5q0 -31 23.5 -51.5t55.5 -20.5h360v-346q0 -33 20.5 -54.5t53.5 -21.5z" />
|
||||
<glyph unicode="," horiz-adv-x="593" d="M154 -335h56q38 0 53 43l164 475q3 12 3 18q0 35 -37 38h-106q-64 -2 -73 -56l-84 -475q-1 -3 -1 -12q0 -30 25 -31z" />
|
||||
<glyph unicode="-" horiz-adv-x="683" d="M119 459h445q35 0 57.5 19t22.5 49q0 32 -22 51.5t-58 19.5h-445q-36 0 -58 -19.5t-22 -51.5q0 -30 22.5 -49t57.5 -19z" />
|
||||
<glyph unicode="." horiz-adv-x="593" d="M296 -2q52 0 84 32t32 76q0 43 -32.5 74.5t-83.5 31.5q-52 0 -84 -32t-32 -74q0 -44 32 -76t84 -32z" />
|
||||
<glyph unicode="/" horiz-adv-x="747" d="M131 -166q51 0 70 52l484 1451q5 18 5 29q0 31 -22.5 50t-52.5 19q-56 0 -73 -52l-480 -1452q-5 -18 -5 -28q0 -31 22 -50t52 -19z" />
|
||||
<glyph unicode="0" horiz-adv-x="1186" d="M593 -22q115 0 204 41t144.5 108.5t91 164.5t49 199t13.5 222q0 737 -502 737q-503 0 -503 -737q0 -121 14 -223t49.5 -199t91 -164.5t144.5 -108t204 -40.5zM593 140q-55 0 -99.5 19.5t-74.5 50.5t-52.5 78t-35.5 95t-20.5 108.5t-10 111.5t-2.5 110q0 62 2.5 114.5 t10.5 113.5t20.5 109t35.5 94t53 76.5t74 49t99 18.5t99 -18.5t74.5 -49.5t53 -77t35.5 -94t21 -108.5t10.5 -113t2.5 -114.5q0 -59 -2.5 -109.5t-10 -111t-20.5 -108.5t-35.5 -95t-53 -78.5t-75 -51t-99.5 -19.5z" />
|
||||
<glyph unicode="1" horiz-adv-x="1175" d="M658 0q41 0 71 25t30 70l-1 1236q0 47 -27.5 72.5t-67.5 25.5q-33 0 -55 -15l-343 -214q-34 -23 -34 -58q0 -30 21.5 -52t51.5 -22q20 0 39 11l216 139v-1123q0 -45 29.5 -70t69.5 -25z" />
|
||||
<glyph unicode="2" horiz-adv-x="1179" d="M1043 1038q0 168 -124.5 285t-312.5 117q-132 0 -222.5 -31.5t-189.5 -91.5q-39 -24 -39 -62q0 -32 24.5 -57.5t55.5 -25.5q15 0 29 7q9 5 55.5 32.5t70 37.5t80 22t122.5 12q111 0 187.5 -72.5t76.5 -190.5q0 -70 -38 -139.5t-119 -152.5l-520 -527q-47 -47 -47 -98 q0 -44 36 -73.5t95 -29.5h688q37 0 58 22.5t21 53.5t-21 53.5t-58 22.5h-602l457 445q127 117 182 221t55 220z" />
|
||||
<glyph unicode="3" horiz-adv-x="1175" d="M558 -22q98 0 183.5 23.5t155 70.5t110 126t40.5 180q0 140 -74 238t-202 130q109 36 175.5 116.5t66.5 200.5q0 126 -64 215.5t-167 130.5t-234 41q-102 0 -208.5 -28.5t-153.5 -57.5q-33 -19 -33 -58q0 -34 23 -62.5t53 -28.5q14 0 24 5q136 68 292 68q112 0 189 -60 t77 -169q0 -121 -84.5 -184.5t-224.5 -63.5h-65q-34 0 -52.5 -22t-18.5 -53q0 -30 18.5 -51t52.5 -21h73q147 0 242 -78t95 -209q0 -113 -82.5 -175t-215.5 -62q-132 0 -275 66q-15 5 -25 5q-31 0 -54 -25t-23 -58q0 -48 52 -75q142 -75 334 -75z" />
|
||||
<glyph unicode="4" horiz-adv-x="1175" d="M265 456l478 768v-768h-478zM841 -1q38 0 67 24t29 66v221h146q35 0 54 21.5t19 51.5t-19 51.5t-54 21.5h-145v834q0 69 -40 104t-100 35q-102 0 -163 -95l-546 -858q-19 -29 -19 -62q0 -42 28.5 -73t74.5 -31h570v-221q0 -42 30 -66t68 -24z" />
|
||||
<glyph unicode="5" horiz-adv-x="1175" d="M607 -22q214 0 349.5 127t135.5 337q0 202 -120 329.5t-320 127.5q-60 0 -114.5 -12t-89 -28.5t-60 -33.5t-36.5 -29l-12 -12l1 483h593q36 0 55 22t19 53t-19.5 53.5t-54.5 22.5h-656q-97 0 -97 -90v-653q0 -30 41 -51.5t82 -21.5q28 0 39 12q46 56 124.5 92.5 t158.5 36.5q124 0 199 -81.5t75 -214.5q0 -145 -76 -226t-224 -81q-180 0 -318 120q-16 13 -35 13q-31 0 -58 -29.5t-27 -62.5q0 -26 20 -43q91 -80 192 -120t233 -40z" />
|
||||
<glyph unicode="6" horiz-adv-x="1175" d="M623 762q138 0 207.5 -88t69.5 -226q0 -143 -77 -227.5t-220 -84.5q-139 0 -216 88.5t-77 220.5q0 145 82 231t231 86zM613 -22q220 0 351 133t131 339q0 202 -123.5 328t-329.5 127q-130 0 -226.5 -62.5t-119.5 -143.5q0 77 3.5 138.5t14 124.5t28 110t46 89t67 69 t92.5 42.5t121 15.5q122 0 252 -60q14 -6 25 -6q30 0 51.5 28.5t21.5 62.5q0 45 -37 63q-151 74 -309 74q-106 0 -192 -26.5t-145.5 -71t-105 -110.5t-71.5 -135t-42.5 -155t-22 -161.5t-5.5 -162.5q0 -106 15.5 -197.5t53.5 -176.5t96.5 -145t150 -95.5t209.5 -35.5z" />
|
||||
<glyph unicode="7" horiz-adv-x="1175" d="M437 0q62 0 86 56l512 1185q18 42 18 86q0 43 -29 68.5t-83 25.5h-766q-39 0 -60 -24t-21 -56q0 -33 21 -56.5t60 -23.5h659l-490 -1125q-10 -25 -10 -43q0 -40 31 -66.5t72 -26.5z" />
|
||||
<glyph unicode="8" horiz-adv-x="1175" d="M588 832q-130 0 -205 61.5t-75 178.5q0 61 23 107.5t63.5 73t89 39.5t104.5 13q120 0 200 -57t80 -176q0 -117 -74.5 -178.5t-205.5 -61.5zM588 130q-83 0 -147.5 25t-105.5 83t-41 143q0 131 83.5 201.5t210.5 70.5q126 0 209 -70.5t83 -201.5q0 -126 -82 -188.5 t-210 -62.5zM587 -22q142 0 252.5 45.5t176.5 138.5t66 220q0 137 -71 228.5t-211 129.5q125 30 192 116t67 212q0 92 -37 166t-101.5 120.5t-149.5 71t-184 24.5q-132 0 -237 -42t-169 -130t-64 -210q0 -124 65.5 -210.5t195.5 -117.5q-136 -28 -210 -125.5t-74 -232.5 q0 -127 65.5 -220t176 -138.5t251.5 -45.5z" />
|
||||
<glyph unicode="9" horiz-adv-x="1175" d="M555 666q-138 0 -207.5 88t-69.5 226q0 143 76.5 227.5t220.5 84.5q139 0 215.5 -88.5t76.5 -220.5q0 -145 -81.5 -231t-230.5 -86zM506 -22q106 0 192 26.5t145.5 71t105 110.5t71.5 135t42.5 155t22 161.5t5.5 162.5q0 106 -15.5 197.5t-53.5 176.5t-96.5 145 t-150.5 95.5t-210 35.5q-219 0 -350 -132.5t-131 -339.5q0 -202 123 -328t329 -127q130 0 226.5 62.5t120.5 143.5q0 -77 -3.5 -138.5t-14 -124.5t-28 -110t-46 -89t-67 -69t-92.5 -42.5t-121 -15.5q-123 0 -252 60q-14 6 -25 6q-30 0 -51.5 -28.5t-21.5 -62.5q0 -45 37 -63 q151 -74 309 -74z" />
|
||||
<glyph unicode=":" horiz-adv-x="593" d="M296 794q53 0 84.5 31t31.5 75t-32 75.5t-84 31.5t-84 -31.5t-32 -75.5q0 -45 31.5 -75.5t84.5 -30.5zM296 -2q52 0 84 32t32 76q0 43 -32.5 74.5t-83.5 31.5q-52 0 -84 -32t-32 -74q0 -44 32 -76t84 -32z" />
|
||||
<glyph unicode=";" horiz-adv-x="593" d="M323 813q53 0 85 31.5t32 76.5q0 43 -32.5 74t-84.5 31q-53 0 -84.5 -31t-31.5 -74q0 -45 32 -76.5t84 -31.5zM162 -222h56q38 0 53 43l164 475q3 12 3 18q0 35 -37 38h-106q-64 -2 -73 -56l-84 -475q-1 -3 -1 -12q0 -30 25 -31z" />
|
||||
<glyph unicode="<" horiz-adv-x="1333" d="M1079 31q8 -4 18 -4q24 0 41.5 24.5t17.5 53.5q0 36 -27 47l-781 345l779 326q34 15 34 49q0 28 -20.5 52t-46.5 24q-11 0 -19 -4l-870 -369q-57 -24 -57 -78q0 -25 14 -46t39 -32z" />
|
||||
<glyph unicode="=" horiz-adv-x="1333" d="M228 625h871q33 0 56.5 20.5t23.5 51.5q0 33 -23.5 53t-56.5 20h-866q-34 0 -57 -20t-23 -53q0 -29 22 -50.5t53 -21.5zM228 226h872q33 0 56 20t23 51q0 33 -22.5 53t-54.5 20h-869q-34 0 -57 -20.5t-23 -52.5q0 -29 22 -50t53 -21z" />
|
||||
<glyph unicode=">" horiz-adv-x="1333" d="M230 31l879 388q25 11 39 32.5t14 45.5q0 53 -58 78l-870 369q-8 4 -19 4q-26 0 -46.5 -23.5t-20.5 -51.5q0 -35 35 -50l778 -326l-781 -345q-26 -11 -26 -46q0 -28 17.5 -53.5t41.5 -25.5q9 0 17 4z" />
|
||||
<glyph unicode="?" horiz-adv-x="1036" d="M425 -18q52 0 84 32t32 77q0 43 -32 74t-84 31q-53 0 -84.5 -31t-31.5 -74q0 -45 31.5 -77t84.5 -32zM333 447q1 -37 27.5 -58t62.5 -21q35 0 60 20t25 55l-1 100q0 32 21.5 64t56 61.5t76.5 61t84 68.5t77 78t56.5 95.5t21.5 115.5q0 94 -32.5 164.5t-90 112t-130 61.5 t-159.5 20q-134 0 -288 -41q-34 -8 -50.5 -30.5t-16.5 -49.5q0 -34 19.5 -58t51.5 -24q20 0 116 17.5t123 17.5q53 0 94 -8.5t79 -29.5t58.5 -63t20.5 -103q0 -48 -19.5 -92t-51 -77.5t-70 -65.5t-76.5 -62t-70 -61t-52.5 -68.5t-21.5 -78.5z" />
|
||||
<glyph unicode="@" horiz-adv-x="1638" d="M710 430q-80 0 -121 55t-41 146q0 100 39.5 197.5t116 164.5t168.5 67q35 0 67.5 -13.5t53 -33t36 -39t22.5 -32.5l7 -14l-91 -311q-24 -81 -100 -134t-157 -53zM808 -26q154 0 321 51q37 10 37 51q0 23 -14.5 39t-40.5 16q-15 0 -26 -4q-130 -40 -260 -40 q-129 0 -241.5 41t-199.5 118.5t-137.5 201t-50.5 278.5q0 123 40.5 232t110 187.5t159 135.5t189 85t199.5 28q105 0 197.5 -32t165.5 -94.5t115.5 -165.5t42.5 -234q0 -110 -40.5 -213t-107.5 -167t-141 -64q-54 0 -54 51q0 35 23 109l148 476q4 11 4 25q0 26 -19 41.5 t-45 15.5t-47.5 -14t-29.5 -40l-9 -29q-31 63 -93.5 97t-137.5 34q-85 0 -162.5 -33.5t-134.5 -90t-99.5 -129.5t-64 -155t-21.5 -163q0 -134 79 -224.5t212 -90.5q155 0 254 116q12 -56 60 -85.5t106 -29.5q79 0 160 44t147 117.5t108 181.5t42 225q0 127 -36 233.5 t-98 180.5t-146.5 125.5t-180 75.5t-199.5 24q-122 0 -241.5 -32t-226.5 -98t-189.5 -156.5t-130.5 -217t-48 -271.5q0 -234 99 -408.5t268.5 -264.5t384.5 -90z" />
|
||||
<glyph unicode="A" horiz-adv-x="1428" d="M1176 60q25 -66 92 -66q39 0 70 25t31 63q0 16 -8 37l-475 1179q-34 85 -73.5 112.5t-98.5 27.5t-98.5 -27.5t-73.5 -112.5l-475 -1179q-8 -21 -8 -37q0 -38 30.5 -63t69.5 -25q68 0 93 66l118 304h688zM1001 509h-574l287 739z" />
|
||||
<glyph unicode="B" horiz-adv-x="1318" d="M377 813v461h294q55 0 95.5 -4.5t81.5 -17.5t67 -36t42.5 -62t16.5 -93q0 -132 -77.5 -190t-246.5 -58h-273zM377 157v501h251q204 0 298 -53t94 -197q0 -146 -75.5 -198.5t-244.5 -52.5h-323zM276 0h465q122 0 218 32t153.5 86.5t87.5 122t30 142.5q0 159 -92.5 250.5 t-255.5 109.5v4q139 18 213.5 108t74.5 218q0 169 -120 262.5t-371 93.5h-403q-41 0 -70 -28t-29 -69v-1235q0 -40 29 -68.5t70 -28.5z" />
|
||||
<glyph unicode="C" horiz-adv-x="1354" d="M784 -22q227 0 394 109q50 32 50 78q0 31 -22 54t-53 23q-18 0 -38 -11q-78 -44 -145 -67.5t-156 -23.5q-99 0 -179.5 30t-135 82t-91.5 124.5t-54 156.5t-17 179t17 179.5t54 157.5t91 126t133 83t176 30q40 0 77.5 -4t62.5 -9.5t52 -15t40 -15t33.5 -16t24.5 -12.5 q18 -8 33 -8q31 0 53 24t22 56q0 45 -44 69q-167 93 -361 93q-157 0 -286 -58t-214 -158.5t-131.5 -235.5t-46.5 -289q0 -207 76 -371t228 -262t357 -98z" />
|
||||
<glyph unicode="D" horiz-adv-x="1509" d="M379 163v1108h225q297 0 435 -128t138 -426q0 -141 -28 -241.5t-90.5 -172t-166.5 -106t-254 -34.5h-259zM278 3h350q363 0 561 182.5t198 528.5q0 351 -196 534.5t-572 183.5h-341q-42 0 -71.5 -28.5t-29.5 -69.5v-1233q0 -41 29.5 -69.5t71.5 -28.5z" />
|
||||
<glyph unicode="E" horiz-adv-x="1241" d="M277 0h762q38 0 59 23.5t21 56.5t-21 57t-59 24h-660v495h600q38 0 59.5 23.5t21.5 55.5t-21 55t-60 23h-600v455h634q38 0 59 24t21 57t-21 56.5t-59 23.5h-741q-40 0 -67.5 -29.5t-27.5 -68.5v-1233q0 -39 30.5 -68.5t69.5 -29.5z" />
|
||||
<glyph unicode="F" horiz-adv-x="1151" d="M277 0q42 0 72 25t30 72v564h568q38 0 59.5 23.5t21.5 56.5q0 32 -21.5 55t-59.5 23h-568v449h595q38 0 59 24t21 57t-21 56.5t-59 23.5h-701q-40 0 -68.5 -27.5t-28.5 -70.5v-1234q0 -46 30 -71.5t71 -25.5z" />
|
||||
<glyph unicode="G" horiz-adv-x="1460" d="M807 -22q234 0 457 75q78 25 78 110v500q0 41 -21.5 65.5t-61.5 24.5h-386q-33 0 -52.5 -24.5t-19.5 -54.5q0 -28 19.5 -52t52.5 -24h267v-415q-155 -43 -315 -43q-125 0 -219.5 42t-152.5 119.5t-87 181.5t-29 234q0 128 30.5 231t91.5 179.5t159 118.5t227 42 q135 0 352 -62q10 -2 20 -2q31 0 51.5 26t20.5 58q0 49 -46 69q-176 73 -405 73q-141 0 -259 -39t-201.5 -107t-141.5 -160.5t-85.5 -200.5t-27.5 -226q0 -180 51 -321.5t142.5 -232t216 -138t274.5 -47.5z" />
|
||||
<glyph unicode="H" horiz-adv-x="1481" d="M277 1q42 0 72 25t30 71v564h723v-564q0 -45 29.5 -70.5t70.5 -25.5q42 0 72 25t30 71v1235q0 46 -30 71.5t-71 25.5t-71 -26t-30 -71v-510h-723v510q0 46 -29.5 71.5t-70.5 25.5q-42 0 -72 -25.5t-30 -71.5v-1235q0 -45 29.5 -70.5t70.5 -25.5z" />
|
||||
<glyph unicode="I" horiz-adv-x="605" d="M302 1q42 0 72 25t30 71v1236q0 46 -29.5 71.5t-70.5 25.5t-71.5 -26t-30.5 -71v-1236q0 -45 29.5 -70.5t70.5 -25.5z" />
|
||||
<glyph unicode="J" horiz-adv-x="1018" d="M427 -25q91 0 169 26t141.5 79.5t100 146t36.5 215.5v892q0 45 -29.5 70t-71.5 25t-72 -25t-30 -70v-877q0 -165 -61.5 -239t-185.5 -74q-106 0 -213 68q-31 23 -60 23q-33 0 -54 -27t-21 -63q0 -45 33 -68q136 -102 318 -102z" />
|
||||
<glyph unicode="K" horiz-adv-x="1271" d="M276 0q41 0 71.5 25t30.5 70v614l635 -667q39 -42 79 -42t69.5 26.5t29.5 65.5q0 36 -23 60l-583 596l530 542q22 22 22 56q0 35 -27 59t-64 24q-39 0 -75 -38l-593 -626v568q0 45 -30 70.5t-70 25.5q-41 0 -71 -25.5t-30 -70.5v-1238q0 -45 29 -70t70 -25z" />
|
||||
<glyph unicode="L" horiz-adv-x="1105" d="M279 0h729q38 0 59.5 24t21.5 56q0 33 -21 57t-60 24h-629v1171q0 46 -29.5 71.5t-70.5 25.5q-42 0 -72 -25.5t-30 -71.5v-1232q0 -42 30 -71t72 -29z" />
|
||||
<glyph unicode="M" horiz-adv-x="1906" d="M951 37q35 0 68 23t52 66l466 1046v-1089q0 -34 27.5 -53t65.5 -19q37 0 65 19t28 53v1184q0 58 -46 97t-107 39q-50 0 -94.5 -29.5t-70.5 -89.5l-454 -1008l-454 1008q-27 60 -71.5 89.5t-94.5 29.5q-61 0 -106.5 -39t-45.5 -97v-1184q0 -34 28 -53t65 -19q38 0 65.5 19 t27.5 53v1089l466 -1046q19 -43 52 -66t68 -23z" />
|
||||
<glyph unicode="N" horiz-adv-x="1515" d="M268 0q38 0 66 23.5t28 65.5v1037l731 -1060q22 -32 56 -49t68 -17q52 0 87.5 35t35.5 94v1211q0 42 -28 65.5t-65 23.5q-39 0 -66 -23.5t-27 -65.5v-1050l-728 1060q-27 39 -64.5 59t-72.5 20q-49 0 -81.5 -34.5t-32.5 -94.5v-1211q0 -42 27.5 -65.5t65.5 -23.5z" />
|
||||
<glyph unicode="O" horiz-adv-x="1599" d="M800 -22q315 0 495.5 199t180.5 537t-180.5 537t-495.5 199t-496 -199t-181 -537t181 -537t496 -199zM800 140q-219 0 -341 153.5t-122 420.5t121.5 420.5t341.5 153.5q219 0 340.5 -153.5t121.5 -420.5t-121.5 -420.5t-340.5 -153.5z" />
|
||||
<glyph unicode="P" horiz-adv-x="1234" d="M379 769v500h315q165 0 239 -56t74 -191q0 -138 -78.5 -195.5t-245.5 -57.5h-304zM278 0q42 0 71.5 25t29.5 71v519h305q119 0 211 21t163.5 66.5t109.5 126t38 193.5q0 217 -129 312t-375 95h-423q-43 0 -72.5 -29t-29.5 -71v-1233q0 -45 30 -70.5t71 -25.5z" />
|
||||
<glyph unicode="Q" horiz-adv-x="1599" d="M1304 -221q30 0 53 23.5t23 56.5q0 47 -47 70l-328 148l-280 -45l544 -245q16 -8 35 -8zM800 -22q315 0 495.5 199t180.5 537t-180.5 537t-495.5 199t-496 -199t-181 -537t181 -537t496 -199zM800 140q-219 0 -341 153.5t-122 420.5t121.5 420.5t341.5 153.5 q219 0 340.5 -153.5t121.5 -420.5t-121.5 -420.5t-340.5 -153.5z" />
|
||||
<glyph unicode="R" horiz-adv-x="1365" d="M379 809v460h318q43 0 74 -2t72 -8.5t69.5 -21t54.5 -37.5t39.5 -61t13.5 -88q0 -61 -20 -105.5t-51.5 -70.5t-79.5 -41t-94 -20t-105 -5h-291zM277 1q41 0 71.5 25t30.5 71v557h334q80 0 127 -11.5t78.5 -45.5t45.5 -85t24 -142l31 -279q4 -43 36.5 -66.5t72.5 -23.5 q39 0 67 25t28 65q0 9 -1 14l-36 314q-31 270 -266 321v4q150 28 226 115t76 211q0 86 -29.5 151.5t-76.5 104t-116 62.5t-137.5 32.5t-150.5 8.5h-434q-42 0 -71.5 -28.5t-29.5 -69.5v-1234q0 -46 29.5 -71t70.5 -25z" />
|
||||
<glyph unicode="S" horiz-adv-x="1286" d="M636 -22q248 0 392.5 109t144.5 305q0 81 -24.5 143t-74 106.5t-110 75.5t-147.5 59l-288 93q-102 34 -148.5 80.5t-46.5 124.5q0 104 90 159t240 55q105 0 197.5 -33.5t153.5 -73.5q21 -14 44 -14q32 0 55 25t23 56q0 30 -23 50q-68 61 -196.5 106.5t-269.5 45.5 q-144 0 -258.5 -45t-182 -133t-67.5 -204q0 -144 78 -226t237 -136l287 -96q64 -22 104 -41t71.5 -47t45 -65.5t13.5 -90.5q0 -110 -92.5 -168t-238.5 -58q-224 0 -394 132q-11 8 -25 8q-31 0 -61.5 -34t-30.5 -66q0 -19 12 -30q185 -172 490 -172z" />
|
||||
<glyph unicode="T" horiz-adv-x="1169" d="M587 0q41 0 71 26t30 71v1171h372q39 0 61 24t22 57t-21.5 56.5t-61.5 23.5h-951q-39 0 -61 -24t-22 -56q0 -33 22 -57t61 -24h377v-1171q0 -45 30 -71t71 -26z" />
|
||||
<glyph unicode="U" horiz-adv-x="1496" d="M748 -22q91 0 173.5 20t154.5 62t124.5 102.5t83 146t30.5 188.5v837q0 46 -29.5 72t-70.5 26q-42 0 -72 -26t-30 -72v-832q0 -90 -31 -161t-83 -114t-116 -65t-134 -22t-133.5 22t-115 65t-82.5 114t-31 161v832q0 46 -30 72t-71 26q-42 0 -72 -26t-30 -72v-837 q0 -127 46 -228t125 -163.5t179.5 -95t214.5 -32.5z" />
|
||||
<glyph unicode="V" horiz-adv-x="1310" d="M661 -8q118 0 170 141l433 1178q6 17 6 32q0 38 -31.5 63.5t-71.5 25.5q-67 0 -90 -64l-416 -1156l-415 1156q-23 64 -90 64q-40 0 -72 -25.5t-32 -63.5q0 -15 6 -32l433 -1178q52 -141 170 -141z" />
|
||||
<glyph unicode="W" horiz-adv-x="2110" d="M1711 110l327 1201q4 15 4 30q0 41 -30 66t-69 25q-32 0 -58 -18t-35 -51l-299 -1167l-359 1110q-25 75 -57 99.5t-84 24.5q-50 0 -83.5 -26.5t-56.5 -97.5l-359 -1110l-299 1167q-9 33 -35 51t-58 18q-39 0 -69 -25t-30 -66q0 -15 4 -30l327 -1201q15 -55 56 -84.5 t91 -29.5t93 29.5t61 82.5l358 1092l359 -1092q18 -54 60 -83t92 -29q51 0 93 30t56 84z" />
|
||||
<glyph unicode="X" horiz-adv-x="1287" d="M1034 39q28 -39 75 -39q39 0 71 26.5t32 63.5q0 26 -18 51l-427 583l430 577q18 24 18 51q0 32 -24.5 55t-58.5 23q-48 0 -83 -46l-387 -517l-381 519q-32 43 -77 43q-40 0 -71.5 -30t-31.5 -67q0 -25 15 -44l418 -569l-444 -581q-20 -26 -20 -55q0 -34 26.5 -59.5 t61.5 -25.5q46 0 80 45l399 536z" />
|
||||
<glyph unicode="Y" horiz-adv-x="1285" d="M541 98q0 -46 30 -71.5t72 -25.5q41 0 71 25.5t30 70.5v506l454 700q15 23 15 48q0 32 -25.5 55t-59.5 23q-48 0 -78 -47l-396 -627l-394 624q-30 48 -82 48q-40 0 -71.5 -27t-31.5 -64q0 -25 14 -46l452 -694v-498z" />
|
||||
<glyph unicode="Z" horiz-adv-x="1174" d="M208 0h825q39 0 60 24t21 57t-21 56.5t-60 23.5h-705l770 1106q25 37 25 73q0 39 -27 64t-71 25h-841q-38 0 -59 -23.5t-21 -55.5q0 -33 21 -57.5t59 -24.5h702l-770 -1105q-22 -33 -22 -68q0 -40 29 -67.5t85 -27.5z" />
|
||||
<glyph unicode="[" horiz-adv-x="634" d="M263 -206h194q33 1 51 21.5t18 48.5t-18 47.5t-51 19.5h-105v1362h105q33 0 51 20.5t18 48.5t-18 47.5t-51 19.5h-194q-39 0 -65 -26t-26 -62v-1458q0 -37 26 -63t65 -26z" />
|
||||
<glyph unicode="\" horiz-adv-x="599" d="M542 -101q30 0 51.5 19t21.5 50q0 15 -4 28l-480 1451q-19 53 -73 53q-30 0 -52.5 -19t-22.5 -50q0 -9 5 -29l484 -1451q17 -52 70 -52z" />
|
||||
<glyph unicode="]" horiz-adv-x="634" d="M175 -206h195q38 0 64.5 26t26.5 63v1458q0 36 -26.5 62t-64.5 26h-195q-33 0 -50.5 -19.5t-17.5 -47.5t18 -48.5t50 -20.5h106v-1362h-106q-32 0 -50 -20t-18 -47q0 -28 18 -48.5t50 -21.5z" />
|
||||
<glyph unicode="^" horiz-adv-x="1333" d="M258 498q47 0 69 51l340 683l338 -683q24 -50 70 -50q30 0 52.5 20t22.5 49q0 14 -10 36l-378 738q-34 66 -95 66q-59 0 -95 -66l-379 -738q-10 -22 -10 -37q0 -30 22.5 -49.5t52.5 -19.5z" />
|
||||
<glyph unicode="_" horiz-adv-x="1024" d="M56 -254h908q28 0 43.5 18t15.5 42q0 25 -15.5 43t-43.5 18h-908q-26 0 -41.5 -18t-15.5 -43q0 -24 15.5 -42t41.5 -18z" />
|
||||
<glyph unicode="`" horiz-adv-x="569" d="M461 1194q18 0 29.5 12t11.5 30t-14 35l-258 298q-29 33 -60 33q-36 0 -66.5 -29.5t-30.5 -64.5q0 -28 24 -47l318 -248q24 -19 46 -19z" />
|
||||
<glyph unicode="a" horiz-adv-x="1048" d="M440 102q-93 0 -147 42.5t-54 133.5q0 50 14.5 82t44.5 54.5t90 34t138 16t202 4.5v-30q0 -147 -86.5 -242t-201.5 -95zM421 -18q215 0 308 195v-96q0 -39 25.5 -60.5t61.5 -21.5t63.5 22.5t27.5 61.5v583q0 177 -103.5 262t-286.5 85q-214 0 -369 -87q-28 -16 -28 -46 q0 -26 19 -47.5t45 -21.5q14 0 24 5q51 23 86 36t96 26t122 13q102 0 159 -51t57 -158v-109q-111 0 -189.5 -3t-152.5 -10.5t-122 -22t-88 -37t-62 -55t-34 -75.5t-12 -100q0 -138 98 -213t255 -75z" />
|
||||
<glyph unicode="b" horiz-adv-x="1190" d="M644 106q-310 0 -310 396q0 76 17 143t51.5 123t94 89t138.5 33q78 0 136.5 -35t90.5 -93.5t47.5 -124.5t15.5 -138q0 -70 -14 -134.5t-44 -124.5t-87.5 -96.5t-135.5 -37.5zM676 -18q104 0 187.5 42.5t135.5 115t79.5 165.5t27.5 198q0 107 -30 199.5t-85.5 162 t-141 109t-189.5 39.5q-111 0 -196.5 -48t-130.5 -139v519q0 39 -27 61.5t-64 22.5q-36 0 -63 -22.5t-27 -61.5v-1258q0 -40 27 -62.5t63 -22.5q45 0 68 22.5t23 61.5v89q48 -96 137.5 -144.5t205.5 -48.5z" />
|
||||
<glyph unicode="c" horiz-adv-x="959" d="M557 -19q196 0 304 87q34 28 34 61q0 23 -16 38.5t-39 15.5q-21 0 -40 -13q-92 -64 -229 -64q-78 0 -138 32.5t-96 88t-54 123.5t-18 144q0 182 89 289.5t232 107.5q110 0 201 -59q20 -13 42 -13q24 0 40.5 15t16.5 37q0 31 -34 58q-43 36 -116 60t-159 24 q-147 0 -260 -69t-173 -186t-60 -261q0 -223 128 -369.5t345 -146.5z" />
|
||||
<glyph unicode="d" horiz-adv-x="1190" d="M546 106q-78 1 -135.5 37.5t-87.5 96.5t-44 124.5t-14 134.5q0 72 15.5 138t47.5 124.5t90.5 93.5t136.5 35q79 0 138.5 -33t94 -89t51.5 -123t17 -143q0 -396 -310 -396zM514 -18q116 0 205.5 48.5t137.5 144.5v-89q0 -39 23 -61.5t68 -22.5q36 0 63 22.5t27 62.5v1258 q0 39 -27 61.5t-63 22.5q-37 0 -64 -22.5t-27 -61.5v-519q-45 91 -130.5 139t-196.5 48q-104 0 -189.5 -39.5t-141 -109t-85.5 -162t-30 -199.5q0 -105 27.5 -198t79.5 -165.5t135.5 -115t187.5 -42.5z" />
|
||||
<glyph unicode="e" horiz-adv-x="1119" d="M275 572q5 62 26.5 117.5t58 101t93.5 72.5t127 27q135 0 205 -89t79 -229h-589zM583 -18q224 0 382 142q28 25 28 57q0 25 -16.5 43.5t-40.5 18.5q-20 0 -38 -14q-72 -55 -143 -87t-160 -32q-141 2 -231 90.5t-92 260.5h686q32 0 48 19t16 48q-3 101 -29 185.5t-78 153 t-140 107.5t-205 39q-148 0 -259 -72t-166 -187t-55 -254q0 -158 65.5 -276.5t176.5 -179.5t251 -62z" />
|
||||
<glyph unicode="f" horiz-adv-x="704" d="M326 0q37 0 64 23.5t27 65.5v777h169q64 0 64 58q0 26 -15.5 43t-48.5 17h-169v78q0 81 6.5 128.5t25 73t42.5 33t67 7.5h85q30 0 46.5 20t16.5 48t-16.5 48.5t-45.5 20.5h-122q-134 0 -210 -75.5t-76 -254.5v-127h-131q-33 0 -49 -17t-16 -43q0 -25 16 -41.5t49 -16.5 h131v-777q0 -42 26.5 -65.5t63.5 -23.5z" />
|
||||
<glyph unicode="g" horiz-adv-x="1178" d="M569 120q-132 0 -218 96t-86 282q0 111 31 197t101 140.5t172 54.5q64 0 115 -21.5t83.5 -58t54 -87t30.5 -105t9 -116.5q0 -181 -82 -281.5t-210 -100.5zM561 -423q221 0 348.5 108t127.5 321v903q0 40 -25 62.5t-60 22.5q-32 0 -56.5 -19.5t-27.5 -53.5v-101 q-99 193 -332 193q-141 0 -245 -71t-155.5 -187.5t-51.5 -262.5q0 -103 30.5 -192t87 -156t144 -105.5t195.5 -38.5q115 0 197.5 53.5t123.5 144.5v-198q0 -144 -79 -220.5t-234 -76.5q-24 0 -47.5 2t-42 4.5t-41 7.5l-36 8t-35 10t-29.5 10t-28.5 11t-24.5 9q-11 4 -23 4 q-25 0 -42.5 -18.5t-17.5 -43.5q0 -37 38 -58q135 -72 341 -72z" />
|
||||
<glyph unicode="h" horiz-adv-x="1158" d="M241 0q37 0 64.5 23t27.5 63v485q0 147 84 227.5t207 80.5q101 0 158.5 -59t57.5 -178v-556q0 -40 26.5 -63t62.5 -23q37 0 64 23t27 63v546q0 99 -28.5 174t-79 119.5t-113 66t-136.5 21.5q-110 0 -200 -46.5t-130 -128.5v507q0 40 -26.5 61.5t-63.5 21.5t-64 -22 t-27 -61v-1259q0 -40 26.5 -63t62.5 -23z" />
|
||||
<glyph unicode="i" horiz-adv-x="491" d="M253 1225q53 0 85 30.5t32 79.5q0 50 -32 80.5t-84 30.5q-53 0 -85.5 -31t-32.5 -80t32 -79.5t85 -30.5zM252 0q37 0 64.5 24.5t27.5 66.5v813q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66v-813q0 -44 26 -67.5t63 -23.5z" />
|
||||
<glyph unicode="j" horiz-adv-x="502" d="M256 1225q53 0 85 30.5t32 79.5q0 50 -32 80.5t-84 30.5q-53 0 -85.5 -30.5t-32.5 -80.5q0 -49 32 -79.5t85 -30.5zM20 -378q77 0 131.5 7.5t91.5 28t58 44.5t32.5 68.5t14.5 88t3 114.5v931q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66v-967q0 -43 -1.5 -69.5 t-8.5 -48t-15.5 -32t-28 -17.5t-41 -8.5t-58.5 -1.5q-29 0 -45.5 -20.5t-16.5 -48.5t17 -48.5t48 -20.5z" />
|
||||
<glyph unicode="k" horiz-adv-x="999" d="M241 0q37 0 64.5 24t27.5 67v436l470 -500q25 -28 60 -28q33 0 58.5 25t25.5 57q0 29 -22 52l-397 418l363 325q24 23 24 51q0 31 -24.5 56t-56.5 25q-25 0 -47 -19l-454 -416v765q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66v-1247q0 -44 26 -67.5t63 -23.5z" />
|
||||
<glyph unicode="l" horiz-adv-x="498" d="M254 0q37 0 64.5 24.5t27.5 66.5v1247q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66v-1247q0 -44 26 -67.5t63 -23.5z" />
|
||||
<glyph unicode="m" horiz-adv-x="1846" d="M241 0q38 0 65.5 22.5t27.5 62.5v488q0 150 78 233.5t208 83.5q218 0 218 -276v-528q0 -40 26.5 -63t62.5 -23q37 0 64 23t27 63v482q0 158 81 240t206 82q105 0 162 -63.5t57 -187.5v-554q0 -40 26 -62.5t63 -22.5t64.5 22.5t27.5 62.5v547q0 98 -28.5 173t-79 119.5 t-114.5 66.5t-140 22q-132 0 -224 -58.5t-134 -174.5q-31 112 -118 172.5t-211 60.5q-109 0 -194 -49.5t-128 -141.5v93q0 37 -27.5 58t-63.5 21t-63.5 -22.5t-27.5 -61.5v-825q0 -40 26 -62.5t63 -22.5z" />
|
||||
<glyph unicode="n" horiz-adv-x="1161" d="M241 0q37 0 64.5 23t27.5 63v499q7 141 86 223t194 82q108 0 167.5 -67t59.5 -195v-542q0 -41 26.5 -63.5t63.5 -22.5t63.5 22.5t26.5 63.5v540q0 195 -98 291t-263 96q-115 0 -201.5 -49t-124.5 -140v87q0 39 -26.5 60.5t-63.5 21.5t-64 -22.5t-27 -62.5v-822 q0 -41 26 -63.5t63 -22.5z" />
|
||||
<glyph unicode="o" horiz-adv-x="1158" d="M585 -18q231 0 366 145t135 370q0 227 -135.5 371.5t-365.5 144.5t-365.5 -145t-135.5 -371q0 -225 135.5 -370t365.5 -145zM583 106q-150 0 -234.5 105.5t-84.5 285.5q0 182 85 287.5t236 105.5q150 0 235.5 -106t85.5 -287q0 -182 -84.5 -286.5t-238.5 -104.5z" />
|
||||
<glyph unicode="p" horiz-adv-x="1190" d="M635 106q-79 0 -138.5 33t-94 89t-51.5 122.5t-17 142.5q0 397 310 397q63 -1 112.5 -26t80.5 -64t51.5 -92t28.5 -105t8 -107q0 -72 -15.5 -138t-47.5 -124.5t-90.5 -93t-136.5 -34.5zM242 -380q37 0 64 22.5t27 61.5v465q45 -90 130.5 -138.5t196.5 -48.5 q104 0 189.5 39.5t141 109t85.5 162t30 199.5q0 105 -27.5 198t-79.5 165.5t-135.5 115t-187.5 42.5q-116 0 -205.5 -48.5t-137.5 -144.5v89q0 39 -23 61.5t-68 22.5q-37 0 -63.5 -22t-26.5 -62v-1205q0 -39 27 -61.5t63 -22.5z" />
|
||||
<glyph unicode="q" horiz-adv-x="1190" d="M555 106q-78 0 -136.5 34.5t-90.5 93t-47.5 124.5t-15.5 138q0 55 8 107t28.5 105t51.5 92t80.5 64t112.5 26q310 0 310 -397q0 -76 -17 -142.5t-51.5 -122.5t-94 -89t-138.5 -33zM948 -380q36 0 63 22.5t27 61.5v1205q0 40 -26.5 62t-63.5 22q-45 0 -68 -22.5t-23 -61.5 v-89q-48 96 -137.5 144.5t-205.5 48.5q-104 0 -187.5 -42.5t-135.5 -115t-79.5 -165.5t-27.5 -198q0 -107 30 -199.5t85.5 -162t141 -109t189.5 -39.5q111 0 196.5 48.5t130.5 138.5v-465q0 -39 27 -61.5t64 -22.5z" />
|
||||
<glyph unicode="r" horiz-adv-x="728" d="M243 0q37 0 64.5 22t27.5 62v515q0 117 74.5 187t209.5 70q32 0 49 21.5t17 51.5q0 32 -18.5 56t-50.5 24q-106 0 -181.5 -62.5t-100.5 -155.5l1 120q0 38 -26.5 59.5t-63.5 21.5t-64 -21.5t-27 -61.5v-825q0 -40 26 -62t63 -22z" />
|
||||
<glyph unicode="s" horiz-adv-x="1006" d="M145 90q60 -44 160.5 -76.5t207.5 -32.5q115 0 202 31.5t140.5 101.5t53.5 172q0 108 -64.5 177.5t-215.5 106.5l-173 43q-109 27 -142 51.5t-33 84.5q0 74 64 108.5t172 34.5q34 0 67 -4.5t65 -13t50.5 -14.5t48 -17.5t32.5 -12.5q16 -6 31 -6q26 0 41.5 16.5t15.5 39.5 q0 39 -39 59q-54 29 -139.5 52.5t-182.5 23.5q-81 0 -150 -15.5t-124.5 -47t-87.5 -85.5t-32 -125q0 -45 9 -80t29 -61t43 -44.5t61.5 -34.5t72 -26t87.5 -24l177 -44q88 -22 126 -58t38 -96q0 -84 -67.5 -127.5t-177.5 -43.5q-153 1 -290 86q-22 14 -46 14q-26 0 -43 -17.5 t-17 -41.5q0 -33 30 -54z" />
|
||||
<glyph unicode="t" horiz-adv-x="740" d="M475 -14h59q36 0 58.5 2t45 9t33.5 22.5t11 40.5q0 28 -19 49t-52 21h-6l-68 -3h-11q-63 0 -92 45.5t-29 148.5v545h184q66 0 66 57q0 27 -16.5 44t-49.5 17h-184v290q0 35 -20 53.5t-50 18.5q-32 0 -58.5 -23t-28.5 -55l-24 -284h-123q-33 0 -50 -16.5t-17 -42.5 q0 -27 17.5 -43t50.5 -16h122v-576q0 -155 68 -229.5t183 -74.5z" />
|
||||
<glyph unicode="u" horiz-adv-x="1161" d="M502 -18q115 0 202 49t125 140v-89q0 -39 26 -60.5t63 -21.5t64 22.5t27 62.5v823q0 41 -26 63.5t-63 22.5t-64 -23t-27 -63v-497q-7 -142 -87 -223.5t-196 -81.5q-108 0 -166 66.5t-58 194.5v541q0 41 -26.5 63.5t-63.5 22.5t-64 -22.5t-27 -63.5v-539 q0 -194 98.5 -290.5t262.5 -96.5z" />
|
||||
<glyph unicode="v" horiz-adv-x="1039" d="M524 -1q57 0 89.5 30.5t63.5 104.5l312 747q6 13 6 28q0 34 -28.5 59.5t-63.5 25.5q-52 0 -74 -57l-305 -753l-306 753q-22 57 -74 57q-35 0 -63.5 -25.5t-28.5 -59.5q0 -15 6 -28l312 -747q31 -74 63.5 -104.5t90.5 -30.5z" />
|
||||
<glyph unicode="w" horiz-adv-x="1700" d="M1241 0q84 0 118 100l273 782q6 16 6 32q0 35 -25.5 56.5t-58.5 21.5q-60 0 -79 -59l-248 -741l-248 702q-35 100 -121 100q-85 0 -120 -100l-248 -702l-248 741q-19 59 -79 59q-33 0 -58.5 -21.5t-25.5 -56.5q0 -16 6 -32l273 -782q34 -100 118 -100q88 0 128 110 l254 712l255 -712q39 -110 128 -110z" />
|
||||
<glyph unicode="x" horiz-adv-x="1045" d="M870 0q36 0 62.5 25.5t26.5 59.5q0 25 -18 48l-307 381l287 359q17 23 17 45q0 30 -24.5 53t-56.5 23q-38 0 -63 -34l-259 -324l-258 320q-31 38 -71 38q-37 0 -63 -26t-26 -61q0 -26 18 -48l282 -349l-315 -388q-16 -19 -16 -42q0 -32 25.5 -56t59.5 -24q35 0 61 33 l283 356l284 -352q28 -37 71 -37z" />
|
||||
<glyph unicode="y" horiz-adv-x="1042" d="M438 -341l578 1219q7 17 7 34q0 34 -26.5 58.5t-61.5 24.5q-52 0 -79 -55l-306 -648l-304 645q-25 53 -78 53q-35 0 -62.5 -24t-27.5 -60q0 -22 9 -40l372 -767l-179 -379q-9 -20 -9 -38q0 -34 26 -56.5t60 -22.5q54 0 81 56z" />
|
||||
<glyph unicode="z" horiz-adv-x="941" d="M173 0h604q35 0 54 21t19 50q0 28 -19 49t-54 21h-482l535 705q26 35 26 69q0 35 -25.5 57t-72.5 22h-591q-34 0 -53 -21t-19 -50q0 -28 19 -48.5t53 -20.5h472l-534 -706q-24 -31 -24 -66t25 -58.5t67 -23.5z" />
|
||||
<glyph unicode="{" horiz-adv-x="636" d="M430 -213h123q31 0 47.5 20t17.5 49q0 30 -17 50.5t-47 20.5h-58q-46 0 -65.5 39.5t-19.5 119.5v272q0 65 -18 118t-46 84.5t-48.5 47.5t-36.5 23q57 26 87 63q62 75 62 216v270q0 80 19.5 119.5t64.5 39.5h56q32 0 49 20t17 50q0 31 -17.5 50.5t-48.5 19.5h-121 q-81 0 -140.5 -66.5t-59.5 -164.5v-301q0 -118 -29.5 -176t-112.5 -66q-36 -1 -55 -22.5t-19 -52.5t20 -52t54 -22q84 -8 113 -65t29 -174v-300q0 -100 61 -165t139 -65z" />
|
||||
<glyph unicode="|" horiz-adv-x="455" d="M227 -422q30 0 52 20t22 55v1754q0 35 -21.5 54t-51.5 19t-52 -19t-22 -54v-1754q0 -35 21.5 -55t51.5 -20z" />
|
||||
<glyph unicode="}" horiz-adv-x="636" d="M81 -213h122q80 0 140.5 66.5t60.5 165.5v298q0 118 29.5 175t114.5 65q33 0 52.5 22t19.5 51q0 32 -20 53.5t-54 21.5q-85 9 -113.5 66.5t-28.5 175.5v303q0 99 -61.5 164t-139.5 65h-122q-31 0 -48 -20.5t-17 -49.5q0 -30 18 -50t49 -20h56q84 0 84 -157v-276 q0 -53 12.5 -97.5t33.5 -74.5t39 -49t39 -35t24 -19q-17 -8 -37 -24t-47.5 -47.5t-45.5 -84.5t-18 -117v-276q0 -155 -83 -155h-59q-31 0 -48 -20.5t-17 -49.5q0 -30 17.5 -50t47.5 -20z" />
|
||||
<glyph unicode="~" horiz-adv-x="1333" d="M770 1174q128 0 171 127q2 5 2 15q0 21 -15.5 36t-35.5 15q-28 0 -47 -30q-23 -38 -65 -38q-29 0 -115 35.5t-138 35.5q-122 0 -171 -122q-5 -13 -5 -22q0 -20 15.5 -33t36.5 -13q30 0 45 25q27 43 76 43q33 0 117.5 -37t128.5 -37z" />
|
||||
<glyph unicode="¡" horiz-adv-x="791" d="M382 651q2 27 17 42.5t35 15.5t35 -15t17 -43l55 -934v-8q0 -44 -31.5 -68t-74.5 -24t-74.5 24t-31.5 68v8zM437 1114q52 0 84 -32t32 -76q0 -43 -32.5 -74.5t-83.5 -31.5q-52 0 -84 32t-32 74q0 44 32 76t84 32z" />
|
||||
<glyph unicode="¢" horiz-adv-x="1035" d="M501 956l108 1v256q0 26 -15.5 40.5t-37.5 14.5t-38.5 -14.5t-16.5 -40.5v-257zM556 -268q22 0 37.5 14.5t15.5 40.5v256l-108 1v-257q0 -26 16.5 -40.5t38.5 -14.5zM557 -19q196 0 304 87q34 28 34 61q0 23 -16 38.5t-39 15.5q-21 0 -40 -13q-92 -64 -229 -64 q-78 0 -138 32.5t-96 88t-54 123.5t-18 144q0 182 89 289.5t232 107.5q110 0 201 -59q20 -13 42 -13q24 0 40.5 15t16.5 37q0 31 -34 58q-43 36 -116 60t-159 24q-147 0 -260 -69t-173 -186t-60 -261q0 -223 128 -369.5t345 -146.5z" />
|
||||
<glyph unicode="£" horiz-adv-x="1366" d="M228 -1h854q20 0 31 23t11 54t-11 53.5t-31 22.5h-572v596h361q19 0 29.5 19.5t10.5 46.5t-10.5 47.5t-28.5 20.5h-362v117q0 73 4.5 118t17.5 84t38.5 58.5t66.5 30.5t103 11q25 0 48.5 -1.5t51.5 -5.5t43 -6t49.5 -8t43.5 -8h4q21 0 34.5 30.5t13.5 62.5t-13 36 q-151 44 -297 44q-186 0 -290 -87.5t-104 -275.5v-200h-131q-18 0 -27.5 -18.5t-9.5 -45.5q0 -28 10 -49t27 -21h131v-597h-99q-18 0 -28.5 -22t-10.5 -52q0 -32 11 -55t31 -23z" />
|
||||
<glyph unicode="¤" horiz-adv-x="1175" d="M592 290q-142 0 -222 93t-80 220q0 126 80 220t222 94q96 0 167 -47t103.5 -116.5t32.5 -150.5q0 -127 -80 -220t-223 -93zM206 159q21 0 38 16l86 87q109 -77 262 -77q157 0 263 78l88 -88q16 -16 35 -16q22 0 38.5 16t16.5 38t-15 38l-87 84q91 115 91 268 q0 150 -88 263l84 83q15 15 15 37t-16 38t-37 16t-38 -16l-83 -84q-109 82 -267 82q-154 0 -266 -82l-82 84q-17 16 -38 16t-37 -16t-16 -37q0 -22 16 -38l82 -83q-88 -112 -88 -263q0 -155 91 -268l-85 -84q-16 -17 -16 -38q0 -22 16 -38t37 -16z" />
|
||||
<glyph unicode="¥" horiz-adv-x="1200" d="M200 543h864q29 0 45 18t16 44q0 25 -16 44t-45 19h-864q-29 0 -45 -18.5t-16 -42.5q0 -26 16 -45t45 -19zM200 298h864q29 0 45 18t16 44q0 25 -16 44t-45 19h-864q-29 0 -45 -18.5t-16 -42.5q0 -26 16 -45t45 -19zM541 98q0 -46 30 -71.5t72 -25.5q41 0 71 25.5 t30 70.5v506l454 700q15 23 15 48q0 32 -25.5 55t-59.5 23q-48 0 -78 -47l-396 -627l-394 624q-30 48 -82 48q-40 0 -71.5 -27t-31.5 -64q0 -25 14 -46l452 -694v-498z" />
|
||||
<glyph unicode="¦" horiz-adv-x="455" d="M221 808q35 0 53.5 24t18.5 61v549q0 39 -19 62t-53 23q-32 0 -52.5 -19.5t-20.5 -53.5v-561q0 -40 19.5 -62.5t53.5 -22.5zM219 -104q36 0 54.5 24t18.5 62v539q0 40 -19 63t-53 23q-31 0 -52 -20t-21 -52v-553q0 -40 19 -63t53 -23z" />
|
||||
<glyph unicode="§" horiz-adv-x="1186" d="M599 586q-6 2 -30.5 12.5t-34.5 15t-33 15.5t-34 18.5t-27.5 20.5t-24.5 24.5t-14 27t-6 32.5q0 20 3.5 37t15 32.5t18.5 25.5t27.5 25t28 20t34.5 21.5t33 20.5q19 -9 56 -23.5t62 -26t52.5 -28t41.5 -39t14 -50.5q0 -20 -5 -37t-17.5 -32.5t-22.5 -26.5t-32 -25 t-32.5 -20.5t-37.5 -21t-35 -18.5zM667 1374q36 0 105 -16.5t83 -16.5q27 0 47.5 21t20.5 49q0 47 -48 61q-143 39 -240 39q-81 0 -148.5 -16t-121.5 -48.5t-84.5 -88.5t-30.5 -130q0 -36 11 -67.5t24 -52.5t43 -46.5t49.5 -38.5t61.5 -40q-91 -35 -156 -102.5t-65 -149.5 q0 -64 29.5 -113t76.5 -78t104 -52t114.5 -41.5t104.5 -38.5t76.5 -51t29.5 -72q0 -91 -71.5 -135.5t-169.5 -44.5q-128 0 -218 33q-17 5 -27 5q-29 0 -46 -20.5t-17 -48.5q0 -45 48 -61q134 -45 295 -45q112 0 202 33t147 105.5t57 174.5q0 95 -57 154.5t-158 99.5 q93 39 155.5 106t62.5 152q0 56 -28 100t-72.5 73t-98 53t-107.5 45t-98.5 43t-72.5 54t-28 72t20 69t53.5 44t68.5 21.5t74 6.5z" />
|
||||
<glyph unicode="¨" horiz-adv-x="569" d="M480 1203q49 0 79 30t30 72q0 41 -30 70.5t-79 29.5q-50 0 -80.5 -30t-30.5 -70q0 -42 30.5 -72t80.5 -30zM90 1203q50 0 80 30t30 72q0 40 -30 70t-80 30q-49 0 -79 -30t-30 -70q0 -42 30 -72t79 -30z" />
|
||||
<glyph unicode="©" horiz-adv-x="1666" d="M842 119q188 0 348 89.5t253 243.5t93 335q0 136 -55 259.5t-148 213t-221.5 142.5t-269.5 53q-142 0 -271.5 -53t-223 -142.5t-149 -213t-55.5 -259.5q0 -181 93.5 -335t254.5 -243.5t351 -89.5zM842 235q-163 0 -294.5 71t-205.5 197t-74 284q0 238 163 394.5 t411 156.5q162 0 292.5 -71t203.5 -197t73 -283q0 -240 -161 -396t-408 -156zM852 395q45 0 102.5 11.5t106.5 38t49 60.5q0 19 -12.5 33t-29.5 14q-10 0 -20 -5q-93 -49 -176 -49q-117 0 -198.5 78.5t-81.5 217.5q0 142 76 213.5t194 71.5q99 0 193 -48q13 -5 19 -5 q20 0 33 16t13 37q0 32 -53.5 57t-113.5 36t-103 11q-105 0 -191 -42.5t-140.5 -133t-54.5 -215.5t56 -217t142.5 -136t189.5 -44z" />
|
||||
<glyph unicode="ª" horiz-adv-x="1053" d="M432 802q-71 2 -115.5 37.5t-44.5 103.5q0 43 21.5 73t53.5 46.5t86.5 25.5t101 11t115.5 2v-68q-5 -111 -65 -170t-153 -61zM399 706q82 0 152 39t101 107v-68q0 -27 18.5 -42t43.5 -15q26 0 45 15.5t19 43.5l1 460q0 135 -77.5 200t-216.5 65q-194 0 -286 -100 q-14 -16 -14 -31q0 -19 13 -32.5t33 -13.5q17 0 26 7q38 22 63 33.5t68 21t92 9.5q170 0 170 -149v-63q-41 3 -85 3q-427 0 -427 -257q0 -108 74 -170.5t187 -62.5z" />
|
||||
<glyph unicode="«" horiz-adv-x="1169" d="M876 100q27 0 46 17.5t19 44.5q0 11 -6 27l-165 353l164 349q7 18 7 31q0 26 -19 43.5t-46 17.5q-46 0 -75 -51l-219 -390l216 -387q30 -55 76 -55h2zM474 100q27 0 45.5 17t18.5 44q0 12 -6 28l-165 353l164 349q7 15 7 31q0 26 -18.5 43.5t-45.5 17.5q-46 0 -76 -51 l-218 -390l216 -387q31 -55 78 -55z" />
|
||||
<glyph unicode="¬" horiz-adv-x="1333" d="M1106 230q30 0 52 19t22 53v418q0 28 -23.5 51.5t-52.5 23.5h-882q-32 0 -49.5 -22t-17.5 -52t17.5 -51.5t49.5 -21.5h810v-346q0 -34 21.5 -53t52.5 -19z" />
|
||||
<glyph unicode="­" horiz-adv-x="710" d="M119 461h469q38 0 60 18t22 48q0 32 -22 50.5t-60 18.5h-466q-38 0 -60.5 -18.5t-22.5 -50.5q0 -30 21.5 -48t58.5 -18z" />
|
||||
<glyph unicode="®" horiz-adv-x="1668" d="M839 87q191 0 353.5 91t257.5 246t95 337q0 183 -95 339t-257.5 247t-353.5 91q-144 0 -275 -54t-226 -144.5t-151.5 -216t-56.5 -262.5q0 -136 56.5 -260.5t151.5 -215t226 -144.5t275 -54zM839 202q-251 0 -415 158.5t-164 400.5q0 241 164 399t415 158q164 0 296 -72 t206 -199.5t74 -285.5q0 -242 -163 -400.5t-413 -158.5zM700 826v214h192q80 0 125 -21t45 -80q0 -31 -10 -53t-24 -33.5t-39 -17.5t-45 -7.5t-53 -1.5h-191zM639 388q25 0 43 15t18 41v284h143l201 -315q16 -26 44 -26q23 0 41.5 17.5t18.5 39.5q0 14 -8 26l-180 259 q109 12 168.5 57.5t59.5 147.5q0 107 -64 157t-215 50h-252q-38 0 -57 -23t-19 -56v-618q0 -27 17 -41.5t41 -14.5z" />
|
||||
<glyph unicode="¯" horiz-adv-x="569" d="M35 1264h504q33 0 50 18t17 47q0 27 -17 45.5t-50 18.5h-504q-33 0 -51 -18.5t-18 -45.5q0 -29 17.5 -47t51.5 -18z" />
|
||||
<glyph unicode="°" horiz-adv-x="819" d="M410 821q125 0 215 86t90 208t-90 208.5t-215 86.5q-127 0 -216 -86.5t-89 -208.5t89 -208t216 -86zM410 924q-86 0 -142.5 54t-56.5 137q0 82 55.5 137.5t141.5 55.5q85 0 143 -55.5t58 -137.5q0 -83 -57 -137t-142 -54z" />
|
||||
<glyph unicode="±" horiz-adv-x="1333" d="M228 0h877q34 0 54 21.5t20 49.5q0 31 -19 51.5t-55 20.5h-877q-35 0 -54 -21t-19 -51q0 -29 19 -50t54 -21zM665 219q30 0 52.5 18.5t22.5 51.5v244h365q34 0 53.5 21.5t19.5 49.5q0 30 -19 51t-54 21h-365v246q0 33 -21.5 52t-52.5 19q-30 0 -52 -19t-22 -52v-246h-364 q-35 0 -53.5 -21t-18.5 -50q0 -30 19 -51t53 -21h364v-244q0 -33 21 -51.5t52 -18.5z" />
|
||||
<glyph unicode="²" horiz-adv-x="748" d="M163 575h434q21 0 33 13.5t12 31.5q0 19 -12 33t-33 14h-373q74 63 132.5 118t128.5 132t109.5 152t39.5 139q0 96 -73.5 150t-182.5 54q-76 0 -160 -36t-84 -76q0 -17 12 -28.5t31 -11.5q15 0 32 9q83 48 159 48q60 0 103.5 -31.5t43.5 -86.5q0 -43 -34.5 -104.5 t-92.5 -127.5t-107.5 -116t-104.5 -100q-7 -7 -20.5 -20t-19.5 -19.5t-15.5 -16.5t-14.5 -16.5t-10 -15.5t-7 -16.5t-2 -15.5q0 -25 19 -40.5t57 -15.5z" />
|
||||
<glyph unicode="³" horiz-adv-x="797" d="M397 542q119 0 198.5 59.5t79.5 169.5q0 83 -46.5 140.5t-125.5 75.5q156 45 156 190q0 111 -77.5 170.5t-190.5 59.5q-77 0 -156 -24t-79 -62q0 -18 13 -32t33 -14q1 0 70 20t121 20q68 0 114 -37.5t46 -101.5q0 -71 -52 -108.5t-129 -39.5l-39 -1q-21 -1 -31.5 -13.5 t-10.5 -31.5q0 -18 11.5 -31t31.5 -13h46q78 0 132 -45t54 -120q0 -68 -44.5 -103.5t-122.5 -35.5q-84 0 -177 41q-5 2 -14 2q-18 0 -30.5 -14t-12.5 -31q0 -26 42.5 -47.5t95 -32t94.5 -10.5z" />
|
||||
<glyph unicode="´" horiz-adv-x="569" d="M95 1202q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12z" />
|
||||
<glyph unicode="µ" horiz-adv-x="1168" d="M238 -261q38 0 65.5 24t27.5 66v213q74 -53 187 -53q102 0 191 47.5t129 132.5v-85q0 -40 26.5 -62t62.5 -22q37 0 64 22.5t27 62.5v823q0 41 -26 63t-63 22t-64 -22.5t-27 -62.5v-524q-9 -136 -89 -209t-198 -73q-93 0 -156.5 63.5t-63.5 182.5v559q0 41 -27 63.5 t-64 22.5t-63.5 -22.5t-26.5 -63.5v-1078q0 -44 25.5 -67t62.5 -23z" />
|
||||
<glyph unicode="¶" horiz-adv-x="1322" d="M601 -253q32 0 55 20t23 55v1476h224v-1476q0 -35 23 -55t55 -20t55 20t23 55v1486q0 27 -3.5 45t-14 37.5t-35.5 29t-64 9.5h-367q-213 0 -332 -100.5t-119 -277.5q0 -151 117 -260t282 -109v-860q0 -35 23 -55t55 -20z" />
|
||||
<glyph unicode="·" horiz-adv-x="593" d="M282 411q53 0 84.5 32t31.5 77q0 44 -32 75.5t-84 31.5q-53 0 -85.5 -32t-32.5 -75q0 -45 32.5 -77t85.5 -32z" />
|
||||
<glyph unicode="¸" horiz-adv-x="569" d="M295 -400q80 0 139 39.5t59 111.5q0 144 -183 146q-8 0 -32 -2l36 113h-66l-47 -132q-3 -10 -3 -19q0 -31 38 -31q2 0 8 0.5t8 0.5q45 0 76.5 -17.5t31.5 -54.5q0 -41 -21.5 -61.5t-73.5 -20.5q-62 0 -161 35q-8 2 -12 2q-13 0 -21 -10.5t-8 -24.5q0 -32 72 -53.5 t160 -21.5z" />
|
||||
<glyph unicode="¹" horiz-adv-x="691" d="M426 575q21 0 37.5 13.5t16.5 38.5v705q0 28 -14.5 42.5t-35.5 14.5q-16 0 -31 -9l-200 -126q-20 -11 -20 -34q0 -16 12.5 -29.5t30.5 -13.5q10 0 23 8l127 81v-639q0 -25 16 -38.5t38 -13.5z" />
|
||||
<glyph unicode="º" horiz-adv-x="1106" d="M536 717q97 0 173.5 33t122.5 89.5t70 126t24 147.5t-24 148t-70 126.5t-122.5 90t-173.5 33.5t-173 -33.5t-122 -90t-69.5 -126.5t-23.5 -148t23.5 -147.5t69.5 -126t122 -89.5t173 -33zM536 818q-61 0 -109 26.5t-75.5 70.5t-41.5 94.5t-14 103.5q0 54 14 104.5 t41.5 94t75.5 70t109 26.5q62 0 110 -26.5t75.5 -69.5t41.5 -93.5t14 -104.5t-14 -104.5t-41.5 -94.5t-75.5 -70.5t-110 -26.5z" />
|
||||
<glyph unicode="»" horiz-adv-x="1169" d="M692 100q47 0 77 55l216 387l-216 385q-32 56 -78 56q-27 0 -46 -17.5t-19 -43.5q0 -13 8 -31l164 -349l-164 -351q-8 -18 -8 -31q0 -26 19 -43t47 -17zM289 100q47 0 77 55l216 387l-216 385q-32 56 -78 56q-27 0 -46 -17.5t-19 -43.5q0 -14 8 -30l164 -350l-164 -351 q-8 -18 -8 -31q0 -26 19.5 -43t46.5 -17z" />
|
||||
<glyph unicode="¼" horiz-adv-x="1568" d="M949 265l303 472v-472h-303zM521 -85q43 0 58 43l475 1398q5 15 5 24q0 26 -19 42t-44 16q-44 0 -59 -44l-473 -1397q-4 -11 -4 -24q0 -26 18.5 -42t42.5 -16zM396 575q22 0 38.5 13.5t16.5 38.5v705q0 28 -15 42.5t-36 14.5q-16 0 -30 -9l-201 -126q-20 -11 -20 -34 q0 -16 12.5 -29.5t30.5 -13.5q10 0 23 8l127 81v-639q0 -25 16 -38.5t38 -13.5zM1304 1q21 0 37 14t16 39v134h87q20 0 31 11.5t11 27.5t-11 27.5t-31 11.5h-87v490q0 41 -21 62t-55 21q-61 0 -94 -58l-326 -499q-12 -20 -12 -39q0 -23 16.5 -39t44.5 -16h342v-134 q0 -25 15.5 -39t36.5 -14z" />
|
||||
<glyph unicode="½" horiz-adv-x="1587" d="M518 -85q43 0 58 43l475 1398q4 12 4 24q0 26 -18.5 42t-43.5 16q-46 0 -59 -44l-473 -1397q-4 -11 -4 -24q0 -26 18.5 -42t42.5 -16zM396 575q22 0 38.5 13.5t16.5 38.5v705q0 28 -15 42.5t-36 14.5q-16 0 -30 -9l-201 -126q-20 -11 -20 -34q0 -16 12.5 -29.5 t30.5 -13.5q10 0 23 8l127 81v-639q0 -25 16 -38.5t38 -13.5zM993 0h434q22 0 34 13.5t12 32.5t-12.5 33t-33.5 14h-371q60 52 103 91t105.5 103.5t102 117.5t68.5 115t29 114q0 96 -73 149.5t-182 53.5q-75 0 -159.5 -36.5t-84.5 -75.5q0 -16 12 -27.5t30 -11.5q19 0 32 9 q87 48 160 48q60 0 103.5 -31t43.5 -87q0 -44 -33.5 -103.5t-96 -129.5t-104.5 -112.5t-105 -102.5l-20 -20t-19 -19.5t-16 -17t-14.5 -17t-9.5 -15.5t-7 -16.5t-2 -15.5q0 -25 18.5 -40.5t55.5 -15.5z" />
|
||||
<glyph unicode="¾" horiz-adv-x="1636" d="M973 265l303 472v-472h-303zM560 -85q43 0 58 43l475 1398q4 11 4 24q0 26 -18.5 42t-43.5 16q-45 0 -60 -44l-472 -1397q-4 -11 -4 -24q0 -26 18.5 -42t42.5 -16zM1329 1q21 0 36.5 14t15.5 39v134h88q20 0 31 11.5t11 27.5t-11 27.5t-31 11.5h-88v490q0 41 -21 62 t-55 21q-60 0 -93 -58l-326 -499q-12 -18 -12 -39q0 -23 16.5 -39t44.5 -16h341v-134q0 -25 15.5 -39t37.5 -14zM302 549q119 0 198.5 59t79.5 170q0 83 -48 140t-127 75q6 4 28.5 18.5t32 21t28.5 21.5t28.5 27t21 28.5t16 35.5t4.5 40q0 74 -39 127t-99 77.5t-133 24.5 q-77 0 -154.5 -24.5t-77.5 -62.5q0 -19 12.5 -32t33.5 -13q1 0 70.5 19t119.5 19q68 0 114.5 -37t46.5 -100q0 -71 -52 -108.5t-129 -39.5l-38 -1q-21 -1 -32 -14t-11 -31t11 -30.5t32 -12.5h45q78 0 132.5 -45.5t54.5 -120.5q0 -67 -44.5 -102.5t-122.5 -35.5 q-77 0 -176 38q-10 2 -15 2q-19 0 -31 -13t-12 -30q0 -38 80.5 -64t151.5 -26z" />
|
||||
<glyph unicode="¿" horiz-adv-x="1036" d="M604 1132q-52 0 -84 -32t-32 -77q0 -43 32 -74t84 -31q53 0 84.5 31t31.5 74q0 45 -31.5 77t-84.5 32zM696 667q-1 37 -27.5 58t-62.5 21q-35 0 -60 -20t-25 -55l1 -100q0 -32 -21.5 -64t-56 -61.5t-76.5 -61t-84 -68.5t-77 -78t-56.5 -95.5t-21.5 -115.5 q0 -94 32.5 -164.5t90 -112t130 -61.5t159.5 -20q134 0 288 41q34 8 50.5 30.5t16.5 49.5q0 34 -19.5 58t-51.5 24q-20 0 -116 -17.5t-123 -17.5q-53 0 -94 8.5t-79 29.5t-58.5 63t-20.5 103q0 48 19.5 92t51 77.5t70 65.5t76.5 62t70 61t52.5 68.5t21.5 78.5z" />
|
||||
<glyph unicode="À" horiz-adv-x="1424" d="M726 1592q18 0 29.5 12t11.5 30t-14 35l-258 298q-29 33 -60 33q-36 0 -66.5 -29.5t-30.5 -64.5q0 -28 24 -47l318 -248q24 -19 46 -19zM1176 60q25 -66 92 -66q39 0 70 25t31 63q0 16 -8 37l-475 1179q-34 85 -73.5 112.5t-98.5 27.5t-98.5 -27.5t-73.5 -112.5 l-475 -1179q-8 -21 -8 -37q0 -38 30.5 -63t69.5 -25q68 0 93 66l118 304h688zM1001 509h-574l287 739z" />
|
||||
<glyph unicode="Á" horiz-adv-x="1424" d="M690 1600q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12zM1176 60q25 -66 92 -66q39 0 70 25t31 63q0 16 -8 37l-475 1179q-34 85 -73.5 112.5t-98.5 27.5t-98.5 -27.5t-73.5 -112.5 l-475 -1179q-8 -21 -8 -37q0 -38 30.5 -63t69.5 -25q68 0 93 66l118 304h688zM1001 509h-574l287 739z" />
|
||||
<glyph unicode="Â" horiz-adv-x="1424" d="M464 1553q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16zM1176 60q25 -66 92 -66q39 0 70 25t31 63q0 16 -8 37l-475 1179q-34 85 -73.5 112.5 t-98.5 27.5t-98.5 -27.5t-73.5 -112.5l-475 -1179q-8 -21 -8 -37q0 -38 30.5 -63t69.5 -25q68 0 93 66l118 304h688zM1001 509h-574l287 739z" />
|
||||
<glyph unicode="Ã" horiz-adv-x="1424" d="M955 1784q-24 0 -61 -38t-62 -38q-29 0 -114.5 36t-137.5 36q-133 0 -177 -141q-4 -8 -4 -17q0 -19 12.5 -29.5t31.5 -10.5q34 0 57 32q34 43 76 43q33 0 116.5 -37t127.5 -37q66 0 120.5 43t54.5 106q0 15 -9 20q-2 32 -31 32zM1176 60q25 -66 92 -66q39 0 70 25t31 63 q0 16 -8 37l-475 1179q-34 85 -73.5 112.5t-98.5 27.5t-98.5 -27.5t-73.5 -112.5l-475 -1179q-8 -21 -8 -37q0 -38 30.5 -63t69.5 -25q68 0 93 66l118 304h688zM1001 509h-574l287 739z" />
|
||||
<glyph unicode="Ä" horiz-adv-x="1424" d="M904 1601q49 0 79 30t30 72q0 41 -30 70.5t-79 29.5q-50 0 -80.5 -30t-30.5 -70q0 -42 30.5 -72t80.5 -30zM514 1601q50 0 80 30t30 72q0 40 -30 70t-80 30q-49 0 -79 -30t-30 -70q0 -42 30 -72t79 -30zM1176 60q25 -66 92 -66q39 0 70 25t31 63q0 16 -8 37l-475 1179 q-34 85 -73.5 112.5t-98.5 27.5t-98.5 -27.5t-73.5 -112.5l-475 -1179q-8 -21 -8 -37q0 -38 30.5 -63t69.5 -25q68 0 93 66l118 304h688zM1001 509h-574l287 739z" />
|
||||
<glyph unicode="Å" horiz-adv-x="1424" d="M711 1582q88 0 141 52t53 137t-53 136t-141 51t-141.5 -51t-53.5 -136q0 -86 53.5 -137.5t141.5 -51.5zM711 1666q-50 0 -79.5 28.5t-29.5 76.5q0 47 30 76t79 29t79 -29t30 -76q0 -48 -29.5 -76.5t-79.5 -28.5zM1176 60q25 -66 92 -66q39 0 70 25t31 63q0 16 -8 37 l-475 1179q-34 85 -73.5 112.5t-98.5 27.5t-98.5 -27.5t-73.5 -112.5l-475 -1179q-8 -21 -8 -37q0 -38 30.5 -63t69.5 -25q68 0 93 66l118 304h688zM1001 509h-574l287 739z" />
|
||||
<glyph unicode="Æ" horiz-adv-x="1967" d="M509 512l454 776h3l118 -776h-575zM1255 0h595q36 1 54.5 21.5t18.5 49.5q0 34 -24.5 61.5t-64.5 27.5h-498l-81 495h545q35 0 54 20.5t19 50.5q0 35 -24 61.5t-65 26.5h-552l-72 456h673q35 0 53.5 20.5t18.5 49.5q0 35 -24.5 62t-64.5 27h-821q-64 0 -112 -32.5 t-102 -131.5l-713 -1143q-15 -30 -15 -47q0 -34 24 -55t60 -21q65 0 97 63l194 305h674l52 -305q9 -62 101 -62z" />
|
||||
<glyph unicode="Ç" horiz-adv-x="1361" d="M785 -392q80 0 139 39.5t59 111.5q0 144 -183 146q-8 0 -32 -2l36 113h-66l-47 -132q-3 -10 -3 -19q0 -31 38 -31q2 0 8 0.5t8 0.5q45 0 76.5 -17.5t31.5 -54.5q0 -41 -21.5 -61.5t-73.5 -20.5q-62 0 -161 35q-8 2 -12 2q-13 0 -21 -10.5t-8 -24.5q0 -32 72 -53.5 t160 -21.5zM784 -22q227 0 394 109q50 32 50 78q0 31 -22 54t-53 23q-18 0 -38 -11q-78 -44 -145 -67.5t-156 -23.5q-99 0 -179.5 30t-135 82t-91.5 124.5t-54 156.5t-17 179t17 179.5t54 157.5t91 126t133 83t176 30q40 0 77.5 -4t62.5 -9.5t52 -15t40 -15t33.5 -16 t24.5 -12.5q18 -8 33 -8q31 0 53 24t22 56q0 45 -44 69q-167 93 -361 93q-157 0 -286 -58t-214 -158.5t-131.5 -235.5t-46.5 -289q0 -207 76 -371t228 -262t357 -98z" />
|
||||
<glyph unicode="È" horiz-adv-x="1236" d="M663 1592q18 0 29.5 12t11.5 30t-14 35l-258 298q-29 33 -60 33q-36 0 -66.5 -29.5t-30.5 -64.5q0 -28 24 -47l318 -248q24 -19 46 -19zM277 0h762q38 0 59 23.5t21 56.5t-21 57t-59 24h-660v495h600q38 0 59.5 23.5t21.5 55.5t-21 55t-60 23h-600v455h634q38 0 59 24 t21 57t-21 56.5t-59 23.5h-741q-40 0 -67.5 -29.5t-27.5 -68.5v-1233q0 -39 30.5 -68.5t69.5 -29.5z" />
|
||||
<glyph unicode="É" horiz-adv-x="1236" d="M627 1600q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12zM277 0h762q38 0 59 23.5t21 56.5t-21 57t-59 24h-660v495h600q38 0 59.5 23.5t21.5 55.5t-21 55t-60 23h-600v455h634q38 0 59 24 t21 57t-21 56.5t-59 23.5h-741q-40 0 -67.5 -29.5t-27.5 -68.5v-1233q0 -39 30.5 -68.5t69.5 -29.5z" />
|
||||
<glyph unicode="Ê" horiz-adv-x="1236" d="M401 1553q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16zM277 0h762q38 0 59 23.5t21 56.5t-21 57t-59 24h-660v495h600q38 0 59.5 23.5t21.5 55.5 t-21 55t-60 23h-600v455h634q38 0 59 24t21 57t-21 56.5t-59 23.5h-741q-40 0 -67.5 -29.5t-27.5 -68.5v-1233q0 -39 30.5 -68.5t69.5 -29.5z" />
|
||||
<glyph unicode="Ë" horiz-adv-x="1236" d="M841 1601q49 0 79 30t30 72q0 41 -30 70.5t-79 29.5q-50 0 -80.5 -30t-30.5 -70q0 -42 30.5 -72t80.5 -30zM451 1601q50 0 80 30t30 72q0 40 -30 70t-80 30q-49 0 -79 -30t-30 -70q0 -42 30 -72t79 -30zM277 0h762q38 0 59 23.5t21 56.5t-21 57t-59 24h-660v495h600 q38 0 59.5 23.5t21.5 55.5t-21 55t-60 23h-600v455h634q38 0 59 24t21 57t-21 56.5t-59 23.5h-741q-40 0 -67.5 -29.5t-27.5 -68.5v-1233q0 -39 30.5 -68.5t69.5 -29.5z" />
|
||||
<glyph unicode="Ì" horiz-adv-x="606" d="M325 1592q18 0 29.5 12t11.5 30t-14 35l-258 298q-29 33 -60 33q-36 0 -66.5 -29.5t-30.5 -64.5q0 -28 24 -47l318 -248q24 -19 46 -19zM302 1q42 0 72 25t30 71v1236q0 46 -29.5 71.5t-70.5 25.5t-71.5 -26t-30.5 -71v-1236q0 -45 29.5 -70.5t70.5 -25.5z" />
|
||||
<glyph unicode="Í" horiz-adv-x="606" d="M289 1600q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12zM302 1q42 0 72 25t30 71v1236q0 46 -29.5 71.5t-70.5 25.5t-71.5 -26t-30.5 -71v-1236q0 -45 29.5 -70.5t70.5 -25.5z" />
|
||||
<glyph unicode="Î" horiz-adv-x="606" d="M63 1553q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16zM302 1q42 0 72 25t30 71v1236q0 46 -29.5 71.5t-70.5 25.5t-71.5 -26t-30.5 -71v-1236 q0 -45 29.5 -70.5t70.5 -25.5z" />
|
||||
<glyph unicode="Ï" horiz-adv-x="606" d="M503 1601q49 0 79 30t30 72q0 41 -30 70.5t-79 29.5q-50 0 -80.5 -30t-30.5 -70q0 -42 30.5 -72t80.5 -30zM113 1601q50 0 80 30t30 72q0 40 -30 70t-80 30q-49 0 -79 -30t-30 -70q0 -42 30 -72t79 -30zM302 1q42 0 72 25t30 71v1236q0 46 -29.5 71.5t-70.5 25.5 t-71.5 -26t-30.5 -71v-1236q0 -45 29.5 -70.5t70.5 -25.5z" />
|
||||
<glyph unicode="Ð" horiz-adv-x="1505" d="M74 656h445q35 0 57.5 19t22.5 49q0 32 -22 51.5t-58 19.5h-445q-36 0 -58 -19.5t-22 -51.5q0 -30 22.5 -49t57.5 -19zM379 163v1108h225q297 0 435 -128t138 -426q0 -141 -28 -241.5t-90.5 -172t-166.5 -106t-254 -34.5h-259zM278 3h350q363 0 561 182.5t198 528.5 q0 351 -196 534.5t-572 183.5h-341q-42 0 -71.5 -28.5t-29.5 -69.5v-1233q0 -41 29.5 -69.5t71.5 -28.5z" />
|
||||
<glyph unicode="Ñ" horiz-adv-x="1515" d="M1049 1786q-24 0 -61 -38t-62 -38q-29 0 -114.5 36t-137.5 36q-133 0 -177 -141q-4 -8 -4 -17q0 -19 12.5 -29.5t31.5 -10.5q34 0 57 32q34 43 76 43q33 0 116.5 -37t127.5 -37q66 0 120.5 43t54.5 106q0 15 -9 20q-2 32 -31 32zM268 0q38 0 66 23.5t28 65.5v1037 l731 -1060q22 -32 56 -49t68 -17q52 0 87.5 35t35.5 94v1211q0 42 -28 65.5t-65 23.5q-39 0 -66 -23.5t-27 -65.5v-1050l-728 1060q-27 39 -64.5 59t-72.5 20q-49 0 -81.5 -34.5t-32.5 -94.5v-1211q0 -42 27.5 -65.5t65.5 -23.5z" />
|
||||
<glyph unicode="Ò" horiz-adv-x="1602" d="M816 1594q18 0 29.5 12t11.5 30t-14 35l-258 298q-29 33 -60 33q-36 0 -66.5 -29.5t-30.5 -64.5q0 -28 24 -47l318 -248q24 -19 46 -19zM800 -22q315 0 495.5 199t180.5 537t-180.5 537t-495.5 199t-496 -199t-181 -537t181 -537t496 -199zM800 140q-219 0 -341 153.5 t-122 420.5t121.5 420.5t341.5 153.5q219 0 340.5 -153.5t121.5 -420.5t-121.5 -420.5t-340.5 -153.5z" />
|
||||
<glyph unicode="Ó" horiz-adv-x="1602" d="M780 1602q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12zM800 -22q315 0 495.5 199t180.5 537t-180.5 537t-495.5 199t-496 -199t-181 -537t181 -537t496 -199zM800 140q-219 0 -341 153.5 t-122 420.5t121.5 420.5t341.5 153.5q219 0 340.5 -153.5t121.5 -420.5t-121.5 -420.5t-340.5 -153.5z" />
|
||||
<glyph unicode="Ô" horiz-adv-x="1602" d="M554 1555q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16zM800 -22q315 0 495.5 199t180.5 537t-180.5 537t-495.5 199t-496 -199t-181 -537 t181 -537t496 -199zM800 140q-219 0 -341 153.5t-122 420.5t121.5 420.5t341.5 153.5q219 0 340.5 -153.5t121.5 -420.5t-121.5 -420.5t-340.5 -153.5z" />
|
||||
<glyph unicode="Õ" horiz-adv-x="1602" d="M1045 1786q-24 0 -61 -38t-62 -38q-29 0 -114.5 36t-137.5 36q-133 0 -177 -141q-4 -8 -4 -17q0 -19 12.5 -29.5t31.5 -10.5q34 0 57 32q34 43 76 43q33 0 116.5 -37t127.5 -37q66 0 120.5 43t54.5 106q0 15 -9 20q-2 32 -31 32zM800 -22q315 0 495.5 199t180.5 537 t-180.5 537t-495.5 199t-496 -199t-181 -537t181 -537t496 -199zM800 140q-219 0 -341 153.5t-122 420.5t121.5 420.5t341.5 153.5q219 0 340.5 -153.5t121.5 -420.5t-121.5 -420.5t-340.5 -153.5z" />
|
||||
<glyph unicode="Ö" horiz-adv-x="1602" d="M994 1603q49 0 79 30t30 72q0 41 -30 70.5t-79 29.5q-50 0 -80.5 -30t-30.5 -70q0 -42 30.5 -72t80.5 -30zM604 1603q50 0 80 30t30 72q0 40 -30 70t-80 30q-49 0 -79 -30t-30 -70q0 -42 30 -72t79 -30zM800 -22q315 0 495.5 199t180.5 537t-180.5 537t-495.5 199 t-496 -199t-181 -537t181 -537t496 -199zM800 140q-219 0 -341 153.5t-122 420.5t121.5 420.5t341.5 153.5q219 0 340.5 -153.5t121.5 -420.5t-121.5 -420.5t-340.5 -153.5z" />
|
||||
<glyph unicode="×" horiz-adv-x="1333" d="M358 115q28 0 50 22l258 258l248 -248q21 -21 47 -21q31 0 54 23.5t23 54.5q0 27 -20 47l-248 248l258 259q22 22 22 50q0 29 -22 51t-51 22t-51 -22l-258 -258l-249 249q-22 22 -48 22q-30 0 -54 -24.5t-24 -53.5q0 -27 22 -48l249 -250l-258 -258q-22 -22 -22 -50 t22.5 -50.5t51.5 -22.5z" />
|
||||
<glyph unicode="Ø" horiz-adv-x="1599" d="M281 -135q33 0 64 41l106 155q150 -83 349 -83q315 0 495.5 199t180.5 537q0 176 -51 317.5t-148 238.5l115 169q21 31 21 60q0 26 -18 43t-43 17q-40 0 -63 -36l-116 -171q-157 98 -373 98q-315 0 -496 -199t-181 -537q0 -187 58 -335t167 -245l-113 -166 q-15 -22 -15 -44q0 -25 18 -42t43 -17zM1163 1104q49 -74 74 -172.5t25 -217.5q0 -267 -121.5 -420.5t-340.5 -153.5q-144 0 -248 69zM1072 1202l-615 -906q-120 152 -120 418q0 267 121.5 420.5t341.5 153.5q161 0 272 -86z" />
|
||||
<glyph unicode="Ù" horiz-adv-x="1495" d="M773 1592q18 0 29.5 12t11.5 30t-14 35l-258 298q-29 33 -60 33q-36 0 -66.5 -29.5t-30.5 -64.5q0 -28 24 -47l318 -248q24 -19 46 -19zM748 -22q91 0 173.5 20t154.5 62t124.5 102.5t83 146t30.5 188.5v837q0 46 -29.5 72t-70.5 26q-42 0 -72 -26t-30 -72v-832 q0 -90 -31 -161t-83 -114t-116 -65t-134 -22t-133.5 22t-115 65t-82.5 114t-31 161v832q0 46 -30 72t-71 26q-42 0 -72 -26t-30 -72v-837q0 -127 46 -228t125 -163.5t179.5 -95t214.5 -32.5z" />
|
||||
<glyph unicode="Ú" horiz-adv-x="1495" d="M737 1600q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12zM748 -22q91 0 173.5 20t154.5 62t124.5 102.5t83 146t30.5 188.5v837q0 46 -29.5 72t-70.5 26q-42 0 -72 -26t-30 -72v-832 q0 -90 -31 -161t-83 -114t-116 -65t-134 -22t-133.5 22t-115 65t-82.5 114t-31 161v832q0 46 -30 72t-71 26q-42 0 -72 -26t-30 -72v-837q0 -127 46 -228t125 -163.5t179.5 -95t214.5 -32.5z" />
|
||||
<glyph unicode="Û" horiz-adv-x="1495" d="M511 1553q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16zM748 -22q91 0 173.5 20t154.5 62t124.5 102.5t83 146t30.5 188.5v837q0 46 -29.5 72 t-70.5 26q-42 0 -72 -26t-30 -72v-832q0 -90 -31 -161t-83 -114t-116 -65t-134 -22t-133.5 22t-115 65t-82.5 114t-31 161v832q0 46 -30 72t-71 26q-42 0 -72 -26t-30 -72v-837q0 -127 46 -228t125 -163.5t179.5 -95t214.5 -32.5z" />
|
||||
<glyph unicode="Ü" horiz-adv-x="1495" d="M951 1601q49 0 79 30t30 72q0 41 -30 70.5t-79 29.5q-50 0 -80.5 -30t-30.5 -70q0 -42 30.5 -72t80.5 -30zM561 1601q50 0 80 30t30 72q0 40 -30 70t-80 30q-49 0 -79 -30t-30 -70q0 -42 30 -72t79 -30zM748 -22q91 0 173.5 20t154.5 62t124.5 102.5t83 146t30.5 188.5 v837q0 46 -29.5 72t-70.5 26q-42 0 -72 -26t-30 -72v-832q0 -90 -31 -161t-83 -114t-116 -65t-134 -22t-133.5 22t-115 65t-82.5 114t-31 161v832q0 46 -30 72t-71 26q-42 0 -72 -26t-30 -72v-837q0 -127 46 -228t125 -163.5t179.5 -95t214.5 -32.5z" />
|
||||
<glyph unicode="Ý" horiz-adv-x="1285" d="M647 1600q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12zM541 98q0 -46 30 -71.5t72 -25.5q41 0 71 25.5t30 70.5v506l454 700q15 23 15 48q0 32 -25.5 55t-59.5 23q-48 0 -78 -47l-396 -627 l-394 624q-30 48 -82 48q-40 0 -71.5 -27t-31.5 -64q0 -25 14 -46l452 -694v-498z" />
|
||||
<glyph unicode="Þ" horiz-adv-x="1293" d="M393 548v527h283q343 0 343 -262q0 -265 -348 -265h-278zM291 -1q42 0 72 25t30 72v300h258q118 0 216 20.5t182 66.5t131.5 130t47.5 200q0 92 -31.5 164.5t-84 118.5t-126 76t-152.5 42.5t-170 12.5h-271v115q0 45 -30.5 70.5t-72.5 25.5q-41 0 -71 -25.5t-30 -70.5 v-1246q0 -46 30 -71.5t72 -25.5z" />
|
||||
<glyph unicode="ß" horiz-adv-x="1298" d="M853 -27q157 0 264.5 91t107.5 246q0 86 -44.5 151t-107.5 103t-126 70t-107.5 71t-44.5 88q0 26 24.5 57t59.5 62.5t70 66t59.5 78.5t24.5 89q0 98 -58 171t-148 108t-196 35q-236 0 -352.5 -124t-116.5 -349v-900q0 -42 26 -64.5t63 -22.5t64.5 23t27.5 64v876 q1 72 14.5 133t43 115.5t83.5 86t128 31.5q60 0 112 -18.5t87 -60.5t35 -101q0 -31 -18 -61.5t-44.5 -54.5t-57.5 -53t-57.5 -56t-44.5 -65t-18 -79q0 -71 45 -126.5t109 -92t128.5 -71t109.5 -82t45 -106.5q0 -96 -53 -145.5t-145 -49.5q-111 0 -176 102q-21 31 -57 31 q-29 0 -52 -21t-23 -51q0 -18 10 -37q41 -78 120 -118t186 -40z" />
|
||||
<glyph unicode="à" horiz-adv-x="1051" d="M530 1146q18 0 29.5 12t11.5 30t-14 35l-258 298q-29 33 -60 33q-36 0 -66.5 -29.5t-30.5 -64.5q0 -28 24 -47l318 -248q24 -19 46 -19zM440 102q-93 0 -147 42.5t-54 133.5q0 50 14.5 82t44.5 54.5t90 34t138 16t202 4.5v-30q0 -147 -86.5 -242t-201.5 -95zM421 -18 q215 0 308 195v-96q0 -39 25.5 -60.5t61.5 -21.5t63.5 22.5t27.5 61.5v583q0 177 -103.5 262t-286.5 85q-214 0 -369 -87q-28 -16 -28 -46q0 -26 19 -47.5t45 -21.5q14 0 24 5q51 23 86 36t96 26t122 13q102 0 159 -51t57 -158v-109q-111 0 -189.5 -3t-152.5 -10.5t-122 -22 t-88 -37t-62 -55t-34 -75.5t-12 -100q0 -138 98 -213t255 -75z" />
|
||||
<glyph unicode="á" horiz-adv-x="1051" d="M494 1154q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12zM440 102q-93 0 -147 42.5t-54 133.5q0 50 14.5 82t44.5 54.5t90 34t138 16t202 4.5v-30q0 -147 -86.5 -242t-201.5 -95zM421 -18 q215 0 308 195v-96q0 -39 25.5 -60.5t61.5 -21.5t63.5 22.5t27.5 61.5v583q0 177 -103.5 262t-286.5 85q-214 0 -369 -87q-28 -16 -28 -46q0 -26 19 -47.5t45 -21.5q14 0 24 5q51 23 86 36t96 26t122 13q102 0 159 -51t57 -158v-109q-111 0 -189.5 -3t-152.5 -10.5t-122 -22 t-88 -37t-62 -55t-34 -75.5t-12 -100q0 -138 98 -213t255 -75z" />
|
||||
<glyph unicode="â" horiz-adv-x="1051" d="M268 1107q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16zM440 102q-93 0 -147 42.5t-54 133.5q0 50 14.5 82t44.5 54.5t90 34t138 16t202 4.5v-30 q0 -147 -86.5 -242t-201.5 -95zM421 -18q215 0 308 195v-96q0 -39 25.5 -60.5t61.5 -21.5t63.5 22.5t27.5 61.5v583q0 177 -103.5 262t-286.5 85q-214 0 -369 -87q-28 -16 -28 -46q0 -26 19 -47.5t45 -21.5q14 0 24 5q51 23 86 36t96 26t122 13q102 0 159 -51t57 -158v-109 q-111 0 -189.5 -3t-152.5 -10.5t-122 -22t-88 -37t-62 -55t-34 -75.5t-12 -100q0 -138 98 -213t255 -75z" />
|
||||
<glyph unicode="ã" horiz-adv-x="1051" d="M759 1338q-24 0 -61 -38t-62 -38q-29 0 -114.5 36t-137.5 36q-133 0 -177 -141q-4 -8 -4 -17q0 -19 12.5 -29.5t31.5 -10.5q34 0 57 32q34 43 76 43q33 0 116.5 -37t127.5 -37q66 0 120.5 43t54.5 106q0 15 -9 20q-2 32 -31 32zM440 102q-93 0 -147 42.5t-54 133.5 q0 50 14.5 82t44.5 54.5t90 34t138 16t202 4.5v-30q0 -147 -86.5 -242t-201.5 -95zM421 -18q215 0 308 195v-96q0 -39 25.5 -60.5t61.5 -21.5t63.5 22.5t27.5 61.5v583q0 177 -103.5 262t-286.5 85q-214 0 -369 -87q-28 -16 -28 -46q0 -26 19 -47.5t45 -21.5q14 0 24 5 q51 23 86 36t96 26t122 13q102 0 159 -51t57 -158v-109q-111 0 -189.5 -3t-152.5 -10.5t-122 -22t-88 -37t-62 -55t-34 -75.5t-12 -100q0 -138 98 -213t255 -75z" />
|
||||
<glyph unicode="ä" horiz-adv-x="1051" d="M708 1155q49 0 79 30t30 72q0 41 -30 70.5t-79 29.5q-50 0 -80.5 -30t-30.5 -70q0 -42 30.5 -72t80.5 -30zM318 1155q50 0 80 30t30 72q0 40 -30 70t-80 30q-49 0 -79 -30t-30 -70q0 -42 30 -72t79 -30zM440 102q-93 0 -147 42.5t-54 133.5q0 50 14.5 82t44.5 54.5t90 34 t138 16t202 4.5v-30q0 -147 -86.5 -242t-201.5 -95zM421 -18q215 0 308 195v-96q0 -39 25.5 -60.5t61.5 -21.5t63.5 22.5t27.5 61.5v583q0 177 -103.5 262t-286.5 85q-214 0 -369 -87q-28 -16 -28 -46q0 -26 19 -47.5t45 -21.5q14 0 24 5q51 23 86 36t96 26t122 13 q102 0 159 -51t57 -158v-109q-111 0 -189.5 -3t-152.5 -10.5t-122 -22t-88 -37t-62 -55t-34 -75.5t-12 -100q0 -138 98 -213t255 -75z" />
|
||||
<glyph unicode="å" horiz-adv-x="1051" d="M515 1136q88 0 141 52t53 137t-53 136t-141 51t-141.5 -51t-53.5 -136q0 -86 53.5 -137.5t141.5 -51.5zM515 1220q-50 0 -79.5 28.5t-29.5 76.5q0 47 30 76t79 29t79 -29t30 -76q0 -48 -29.5 -76.5t-79.5 -28.5zM440 102q-93 0 -147 42.5t-54 133.5q0 50 14.5 82 t44.5 54.5t90 34t138 16t202 4.5v-30q0 -147 -86.5 -242t-201.5 -95zM421 -18q215 0 308 195v-96q0 -39 25.5 -60.5t61.5 -21.5t63.5 22.5t27.5 61.5v583q0 177 -103.5 262t-286.5 85q-214 0 -369 -87q-28 -16 -28 -46q0 -26 19 -47.5t45 -21.5q14 0 24 5q51 23 86 36t96 26 t122 13q102 0 159 -51t57 -158v-109q-111 0 -189.5 -3t-152.5 -10.5t-122 -22t-88 -37t-62 -55t-34 -75.5t-12 -100q0 -138 98 -213t255 -75z" />
|
||||
<glyph unicode="æ" horiz-adv-x="1709" d="M921 582q10 134 77.5 222t183.5 88q117 0 180 -83.5t72 -226.5h-513zM454 100q-92 2 -150 48.5t-58 134.5q0 32 9 59t24 47t39 35t47.5 25t57.5 17.5t61 11t65.5 5.5t64.5 2.5t63 1t57 1.5v-90q-5 -143 -82 -219.5t-198 -78.5zM421 -27q124 0 234 55t163 166 q52 -104 139 -162.5t206 -58.5q96 0 190 27.5t152.5 72.5t58.5 91q0 24 -14.5 40t-36.5 16q-18 0 -40 -13q-139 -95 -266 -95q-76 0 -132.5 26.5t-89.5 75t-49.5 110t-17.5 137.5h621q32 0 49 19.5t17 46.5q-3 108 -29.5 196t-77 156t-131.5 105.5t-187 37.5 q-211 0 -334 -176q-75 176 -323 176q-258 0 -375 -131q-18 -20 -18 -41q0 -24 18 -42.5t43 -18.5q19 0 34 10q49 28 82 43t88.5 27.5t120.5 12.5q105 0 162 -45t57 -150v-78q-15 0 -53.5 1t-55.5 2q-558 0 -558 -336q0 -141 98 -222t255 -81z" />
|
||||
<glyph unicode="ç" horiz-adv-x="968" d="M555 -392q80 0 139 39.5t59 111.5q0 144 -183 146q-8 0 -32 -2l36 113h-66l-47 -132q-3 -10 -3 -19q0 -31 38 -31q2 0 8 0.5t8 0.5q45 0 76.5 -17.5t31.5 -54.5q0 -41 -21.5 -61.5t-73.5 -20.5q-62 0 -161 35q-8 2 -12 2q-13 0 -21 -10.5t-8 -24.5q0 -32 72 -53.5 t160 -21.5zM557 -19q196 0 304 87q34 28 34 61q0 23 -16 38.5t-39 15.5q-21 0 -40 -13q-92 -64 -229 -64q-78 0 -138 32.5t-96 88t-54 123.5t-18 144q0 182 89 289.5t232 107.5q110 0 201 -59q20 -13 42 -13q24 0 40.5 15t16.5 37q0 31 -34 58q-43 36 -116 60t-159 24 q-147 0 -260 -69t-173 -186t-60 -261q0 -223 128 -369.5t345 -146.5z" />
|
||||
<glyph unicode="è" horiz-adv-x="1135" d="M602 1155q18 0 29.5 12t11.5 30t-14 35l-258 298q-29 33 -60 33q-36 0 -66.5 -29.5t-30.5 -64.5q0 -28 24 -47l318 -248q24 -19 46 -19zM275 572q5 62 26.5 117.5t58 101t93.5 72.5t127 27q135 0 205 -89t79 -229h-589zM583 -18q224 0 382 142q28 25 28 57 q0 25 -16.5 43.5t-40.5 18.5q-20 0 -38 -14q-72 -55 -143 -87t-160 -32q-141 2 -231 90.5t-92 260.5h686q32 0 48 19t16 48q-3 101 -29 185.5t-78 153t-140 107.5t-205 39q-148 0 -259 -72t-166 -187t-55 -254q0 -158 65.5 -276.5t176.5 -179.5t251 -62z" />
|
||||
<glyph unicode="é" horiz-adv-x="1135" d="M275 572q5 62 26.5 117.5t58 101t93.5 72.5t127 27q135 0 205 -89t79 -229h-589zM583 -18q224 0 382 142q28 25 28 57q0 25 -16.5 43.5t-40.5 18.5q-20 0 -38 -14q-72 -55 -143 -87t-160 -32q-141 2 -231 90.5t-92 260.5h686q32 0 48 19t16 48q-3 101 -29 185.5t-78 153 t-140 107.5t-205 39q-148 0 -259 -72t-166 -187t-55 -254q0 -158 65.5 -276.5t176.5 -179.5t251 -62zM566 1163q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12z" />
|
||||
<glyph unicode="ê" horiz-adv-x="1135" d="M275 572q5 62 26.5 117.5t58 101t93.5 72.5t127 27q135 0 205 -89t79 -229h-589zM583 -18q224 0 382 142q28 25 28 57q0 25 -16.5 43.5t-40.5 18.5q-20 0 -38 -14q-72 -55 -143 -87t-160 -32q-141 2 -231 90.5t-92 260.5h686q32 0 48 19t16 48q-3 101 -29 185.5t-78 153 t-140 107.5t-205 39q-148 0 -259 -72t-166 -187t-55 -254q0 -158 65.5 -276.5t176.5 -179.5t251 -62zM340 1116q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40 t41.5 -16z" />
|
||||
<glyph unicode="ë" horiz-adv-x="1135" d="M275 572q5 62 26.5 117.5t58 101t93.5 72.5t127 27q135 0 205 -89t79 -229h-589zM583 -18q224 0 382 142q28 25 28 57q0 25 -16.5 43.5t-40.5 18.5q-20 0 -38 -14q-72 -55 -143 -87t-160 -32q-141 2 -231 90.5t-92 260.5h686q32 0 48 19t16 48q-3 101 -29 185.5t-78 153 t-140 107.5t-205 39q-148 0 -259 -72t-166 -187t-55 -254q0 -158 65.5 -276.5t176.5 -179.5t251 -62zM780 1164q49 0 79 30t30 72q0 41 -30 70.5t-79 29.5q-50 0 -80.5 -30t-30.5 -70q0 -42 30.5 -72t80.5 -30zM390 1164q50 0 80 30t30 72q0 40 -30 70t-80 30q-49 0 -79 -30 t-30 -70q0 -42 30 -72t79 -30z" />
|
||||
<glyph unicode="ì" horiz-adv-x="485" d="M259 1145q18 0 29.5 12t11.5 30t-14 35l-258 298q-29 33 -60 33q-36 0 -66.5 -29.5t-30.5 -64.5q0 -28 24 -47l318 -248q24 -19 46 -19zM240 0q37 0 65 24t28 67v813q0 42 -27 66t-63 24q-37 0 -64 -24t-27 -66v-813q0 -44 25.5 -67.5t62.5 -23.5z" />
|
||||
<glyph unicode="í" horiz-adv-x="485" d="M240 0q37 0 65 24t28 67v813q0 42 -27 66t-63 24q-37 0 -64 -24t-27 -66v-813q0 -44 25.5 -67.5t62.5 -23.5zM223 1153q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12z" />
|
||||
<glyph unicode="î" horiz-adv-x="485" d="M240 0q37 0 65 24t28 67v813q0 42 -27 66t-63 24q-37 0 -64 -24t-27 -66v-813q0 -44 25.5 -67.5t62.5 -23.5zM-3 1106q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49 q0 -24 16.5 -40t41.5 -16z" />
|
||||
<glyph unicode="ï" horiz-adv-x="485" d="M240 0q37 0 65 24t28 67v813q0 42 -27 66t-63 24q-37 0 -64 -24t-27 -66v-813q0 -44 25.5 -67.5t62.5 -23.5zM437 1154q49 0 79 30t30 72q0 41 -30 70.5t-79 29.5q-50 0 -80.5 -30t-30.5 -70q0 -42 30.5 -72t80.5 -30zM47 1154q50 0 80 30t30 72q0 40 -30 70t-80 30 q-49 0 -79 -30t-30 -70q0 -42 30 -72t79 -30z" />
|
||||
<glyph unicode="ð" horiz-adv-x="1186" d="M580 119q-140 0 -217 85.5t-77 227.5q0 90 27 161.5t90 117.5t155 46q148 0 230.5 -92.5t82.5 -240.5q0 -127 -82.5 -216t-208.5 -89zM566 -33q117 0 209.5 35.5t152.5 95.5t99.5 145t56 178.5t16.5 202.5q0 224 -50 430h133q30 0 47.5 19.5t17.5 45.5t-17 45t-48 19 h-174q-35 89 -75 163t-93 131t-99 57q-37 0 -63 -24.5t-26 -57.5q0 -29 21 -54q85 -105 131 -215h-177q-32 0 -49 -19.5t-17 -45.5t17 -45t49 -19h221q44 -151 44 -336v-31q-48 102 -144 154t-219 52q-205 0 -324 -124t-119 -327q0 -209 129.5 -342t349.5 -133z" />
|
||||
<glyph unicode="ñ" d="M864 1337q-24 0 -61 -38t-62 -38q-29 0 -114.5 36t-137.5 36q-133 0 -177 -141q-4 -8 -4 -17q0 -19 12.5 -29.5t31.5 -10.5q34 0 57 32q34 43 76 43q33 0 116.5 -37t127.5 -37q66 0 120.5 43t54.5 106q0 15 -9 20q-2 32 -31 32zM241 0q37 0 64.5 23t27.5 63v499 q7 141 86 223t194 82q108 0 167.5 -67t59.5 -195v-542q0 -41 26.5 -63.5t63.5 -22.5t63.5 22.5t26.5 63.5v540q0 195 -98 291t-263 96q-115 0 -201.5 -49t-124.5 -140v87q0 39 -26.5 60.5t-63.5 21.5t-64 -22.5t-27 -62.5v-822q0 -41 26 -63.5t63 -22.5z" />
|
||||
<glyph unicode="ò" horiz-adv-x="1161" d="M585 -18q231 0 366 145t135 370q0 227 -135.5 371.5t-365.5 144.5t-365.5 -145t-135.5 -371q0 -225 135.5 -370t365.5 -145zM583 106q-150 0 -234.5 105.5t-84.5 285.5q0 182 85 287.5t236 105.5q150 0 235.5 -106t85.5 -287q0 -182 -84.5 -286.5t-238.5 -104.5z M595 1154q18 0 29.5 12t11.5 30t-14 35l-258 298q-29 33 -60 33q-36 0 -66.5 -29.5t-30.5 -64.5q0 -28 24 -47l318 -248q24 -19 46 -19z" />
|
||||
<glyph unicode="ó" horiz-adv-x="1161" d="M585 -18q231 0 366 145t135 370q0 227 -135.5 371.5t-365.5 144.5t-365.5 -145t-135.5 -371q0 -225 135.5 -370t365.5 -145zM583 106q-150 0 -234.5 105.5t-84.5 285.5q0 182 85 287.5t236 105.5q150 0 235.5 -106t85.5 -287q0 -182 -84.5 -286.5t-238.5 -104.5z M559 1162q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12z" />
|
||||
<glyph unicode="ô" horiz-adv-x="1161" d="M585 -18q231 0 366 145t135 370q0 227 -135.5 371.5t-365.5 144.5t-365.5 -145t-135.5 -371q0 -225 135.5 -370t365.5 -145zM583 106q-150 0 -234.5 105.5t-84.5 285.5q0 182 85 287.5t236 105.5q150 0 235.5 -106t85.5 -287q0 -182 -84.5 -286.5t-238.5 -104.5z M333 1115q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16z" />
|
||||
<glyph unicode="õ" horiz-adv-x="1161" d="M824 1346q-24 0 -61 -38t-62 -38q-29 0 -114.5 36t-137.5 36q-133 0 -177 -141q-4 -8 -4 -17q0 -19 12.5 -29.5t31.5 -10.5q34 0 57 32q34 43 76 43q33 0 116.5 -37t127.5 -37q66 0 120.5 43t54.5 106q0 15 -9 20q-2 32 -31 32zM585 -18q231 0 366 145t135 370 q0 227 -135.5 371.5t-365.5 144.5t-365.5 -145t-135.5 -371q0 -225 135.5 -370t365.5 -145zM583 106q-150 0 -234.5 105.5t-84.5 285.5q0 182 85 287.5t236 105.5q150 0 235.5 -106t85.5 -287q0 -182 -84.5 -286.5t-238.5 -104.5z" />
|
||||
<glyph unicode="ö" horiz-adv-x="1161" d="M585 -18q231 0 366 145t135 370q0 227 -135.5 371.5t-365.5 144.5t-365.5 -145t-135.5 -371q0 -225 135.5 -370t365.5 -145zM583 106q-150 0 -234.5 105.5t-84.5 285.5q0 182 85 287.5t236 105.5q150 0 235.5 -106t85.5 -287q0 -182 -84.5 -286.5t-238.5 -104.5z M773 1163q49 0 79 30t30 72q0 41 -30 70.5t-79 29.5q-50 0 -80.5 -30t-30.5 -70q0 -42 30.5 -72t80.5 -30zM383 1163q50 0 80 30t30 72q0 40 -30 70t-80 30q-49 0 -79 -30t-30 -70q0 -42 30 -72t79 -30z" />
|
||||
<glyph unicode="÷" horiz-adv-x="1333" d="M667 848q50 0 79 29t29 70q0 40 -29.5 69t-78.5 29t-78.5 -29t-29.5 -69q0 -41 29 -70t79 -29zM667 -14q50 0 79 29t29 70q0 39 -29.5 68t-78.5 29t-78.5 -29.5t-29.5 -67.5q0 -41 29 -70t79 -29zM213 442h915q33 0 50.5 21t17.5 51q0 31 -17.5 52.5t-50.5 21.5h-915 q-33 0 -51 -21.5t-18 -52.5q0 -30 18 -51t51 -21z" />
|
||||
<glyph unicode="ø" horiz-adv-x="1161" d="M144 -15q0 -21 14.5 -35.5t37.5 -14.5q26 0 42 22l74 95q117 -70 273 -70q231 0 366 145t135 370q0 45 -6 88t-17 82.5t-27.5 75.5t-38.5 68t-49 60l75 96q18 24 18 39q0 21 -17 36t-40 15q-25 0 -42 -21l-76 -98q-120 75 -281 75q-230 0 -365.5 -145t-135.5 -371 q0 -116 37.5 -214t108.5 -167l-72 -94q-14 -18 -14 -37zM585 106q-110 -1 -187 57l451 580q57 -99 57 -246q0 -181 -84 -286t-237 -105zM779 826l-451 -585q-64 101 -64 256q0 182 85 287.5t236 105.5q17 0 33 -1.5t31 -4t29 -6.5t27.5 -9.5t26.5 -12t24.5 -14.5t22.5 -16z " />
|
||||
<glyph unicode="ù" d="M502 -18q115 0 202 49t125 140v-89q0 -39 26 -60.5t63 -21.5t64 22.5t27 62.5v823q0 41 -26 63.5t-63 22.5t-64 -23t-27 -63v-497q-7 -142 -87 -223.5t-196 -81.5q-108 0 -166 66.5t-58 194.5v541q0 41 -26.5 63.5t-63.5 22.5t-64 -22.5t-27 -63.5v-539 q0 -194 98.5 -290.5t262.5 -96.5zM589 1154q18 0 29.5 12t11.5 30t-14 35l-258 298q-29 33 -60 33q-36 0 -66.5 -29.5t-30.5 -64.5q0 -28 24 -47l318 -248q24 -19 46 -19z" />
|
||||
<glyph unicode="ú" d="M502 -18q115 0 202 49t125 140v-89q0 -39 26 -60.5t63 -21.5t64 22.5t27 62.5v823q0 41 -26 63.5t-63 22.5t-64 -23t-27 -63v-497q-7 -142 -87 -223.5t-196 -81.5q-108 0 -166 66.5t-58 194.5v541q0 41 -26.5 63.5t-63.5 22.5t-64 -22.5t-27 -63.5v-539 q0 -194 98.5 -290.5t262.5 -96.5zM553 1162q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12z" />
|
||||
<glyph unicode="û" d="M502 -18q115 0 202 49t125 140v-89q0 -39 26 -60.5t63 -21.5t64 22.5t27 62.5v823q0 41 -26 63.5t-63 22.5t-64 -23t-27 -63v-497q-7 -142 -87 -223.5t-196 -81.5q-108 0 -166 66.5t-58 194.5v541q0 41 -26.5 63.5t-63.5 22.5t-64 -22.5t-27 -63.5v-539 q0 -194 98.5 -290.5t262.5 -96.5zM327 1115q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16z" />
|
||||
<glyph unicode="ü" d="M502 -18q115 0 202 49t125 140v-89q0 -39 26 -60.5t63 -21.5t64 22.5t27 62.5v823q0 41 -26 63.5t-63 22.5t-64 -23t-27 -63v-497q-7 -142 -87 -223.5t-196 -81.5q-108 0 -166 66.5t-58 194.5v541q0 41 -26.5 63.5t-63.5 22.5t-64 -22.5t-27 -63.5v-539 q0 -194 98.5 -290.5t262.5 -96.5zM767 1163q49 0 79 30t30 72q0 41 -30 70.5t-79 29.5q-50 0 -80.5 -30t-30.5 -70q0 -42 30.5 -72t80.5 -30zM377 1163q50 0 80 30t30 72q0 40 -30 70t-80 30q-49 0 -79 -30t-30 -70q0 -42 30 -72t79 -30z" />
|
||||
<glyph unicode="ý" horiz-adv-x="1040" d="M438 -341l578 1219q7 17 7 34q0 34 -26.5 58.5t-61.5 24.5q-52 0 -79 -55l-306 -648l-304 645q-25 53 -78 53q-35 0 -62.5 -24t-27.5 -60q0 -22 9 -40l372 -767l-179 -379q-9 -20 -9 -38q0 -34 26 -56.5t60 -22.5q54 0 81 56zM545 1167q18 0 43 18l318 248q26 19 26 50 q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12z" />
|
||||
<glyph unicode="þ" horiz-adv-x="1172" d="M628 107q-312 0 -312 407q0 77 16.5 142t50.5 117.5t93 82.5t138 30q61 0 110.5 -21.5t81 -57.5t52.5 -85.5t29.5 -102.5t8.5 -111q0 -57 -7 -109.5t-25.5 -107t-47.5 -94.5t-77.5 -65t-110.5 -25zM223 -343q36 0 62 23.5t26 66.5v429q129 -203 361 -203q104 0 185.5 45 t130 121.5t73.5 168.5t25 194q0 106 -25.5 198t-75 165t-131.5 115t-187 42q-106 0 -203 -50.5t-148 -141.5v515q0 40 -26.5 61.5t-63.5 21.5t-64 -22t-27 -61v-1598q0 -43 26 -66.5t62 -23.5z" />
|
||||
<glyph unicode="ÿ" horiz-adv-x="1040" d="M438 -341l578 1219q7 17 7 34q0 34 -26.5 58.5t-61.5 24.5q-52 0 -79 -55l-306 -648l-304 645q-25 53 -78 53q-35 0 -62.5 -24t-27.5 -60q0 -22 9 -40l372 -767l-179 -379q-9 -20 -9 -38q0 -34 26 -56.5t60 -22.5q54 0 81 56zM759 1168q49 0 79 30t30 72q0 41 -30 70.5 t-79 29.5q-50 0 -80.5 -30t-30.5 -70q0 -42 30.5 -72t80.5 -30zM369 1168q50 0 80 30t30 72q0 40 -30 70t-80 30q-49 0 -79 -30t-30 -70q0 -42 30 -72t79 -30z" />
|
||||
<glyph unicode="Ā" horiz-adv-x="1424" d="M459 1669h504q33 0 50 18t17 47q0 27 -17 45.5t-50 18.5h-504q-33 0 -51 -18.5t-18 -45.5q0 -29 17.5 -47t51.5 -18zM1176 60q25 -66 92 -66q39 0 70 25t31 63q0 16 -8 37l-475 1179q-34 85 -73.5 112.5t-98.5 27.5t-98.5 -27.5t-73.5 -112.5l-475 -1179q-8 -21 -8 -37 q0 -38 30.5 -63t69.5 -25q68 0 93 66l118 304h688zM1001 509h-574l287 739z" />
|
||||
<glyph unicode="ā" horiz-adv-x="1051" d="M263 1223h504q33 0 50 18t17 47q0 27 -17 45.5t-50 18.5h-504q-33 0 -51 -18.5t-18 -45.5q0 -29 17.5 -47t51.5 -18zM440 102q-93 0 -147 42.5t-54 133.5q0 50 14.5 82t44.5 54.5t90 34t138 16t202 4.5v-30q0 -147 -86.5 -242t-201.5 -95zM421 -18q215 0 308 195v-96 q0 -39 25.5 -60.5t61.5 -21.5t63.5 22.5t27.5 61.5v583q0 177 -103.5 262t-286.5 85q-214 0 -369 -87q-28 -16 -28 -46q0 -26 19 -47.5t45 -21.5q14 0 24 5q51 23 86 36t96 26t122 13q102 0 159 -51t57 -158v-109q-111 0 -189.5 -3t-152.5 -10.5t-122 -22t-88 -37t-62 -55 t-34 -75.5t-12 -100q0 -138 98 -213t255 -75z" />
|
||||
<glyph unicode="Ă" horiz-adv-x="1424" d="M711 1638q97 0 168 41t105 116q6 15 6 29q0 23 -16 36.5t-39 13.5q-33 0 -54 -30q-33 -46 -69 -64t-101 -18t-101.5 18t-68.5 64q-21 30 -54 30q-23 0 -39 -13.5t-16 -36.5q0 -14 6 -29q34 -75 105 -116t168 -41zM1176 60q25 -66 92 -66q39 0 70 25t31 63q0 16 -8 37 l-475 1179q-34 85 -73.5 112.5t-98.5 27.5t-98.5 -27.5t-73.5 -112.5l-475 -1179q-8 -21 -8 -37q0 -38 30.5 -63t69.5 -25q68 0 93 66l118 304h688zM1001 509h-574l287 739z" />
|
||||
<glyph unicode="ă" horiz-adv-x="1051" d="M514 1192q97 0 168 41t105 116q6 15 6 29q0 23 -16 36.5t-39 13.5q-33 0 -54 -30q-33 -46 -69 -64t-101 -18t-101.5 18t-68.5 64q-21 30 -54 30q-23 0 -39 -13.5t-16 -36.5q0 -14 6 -29q34 -75 105 -116t168 -41zM440 102q-93 0 -147 42.5t-54 133.5q0 50 14.5 82 t44.5 54.5t90 34t138 16t202 4.5v-30q0 -147 -86.5 -242t-201.5 -95zM421 -18q215 0 308 195v-96q0 -39 25.5 -60.5t61.5 -21.5t63.5 22.5t27.5 61.5v583q0 177 -103.5 262t-286.5 85q-214 0 -369 -87q-28 -16 -28 -46q0 -26 19 -47.5t45 -21.5q14 0 24 5q51 23 86 36t96 26 t122 13q102 0 159 -51t57 -158v-109q-111 0 -189.5 -3t-152.5 -10.5t-122 -22t-88 -37t-62 -55t-34 -75.5t-12 -100q0 -138 98 -213t255 -75z" />
|
||||
<glyph unicode="Ą" horiz-adv-x="1424" d="M1460 -400v85q-206 0 -206 143q0 77 62 191h-83q-134 -157 -134 -280q0 -78 54.5 -123t147.5 -45q75 0 159 29zM1176 60q25 -66 92 -66q39 0 70 25t31 63q0 16 -8 37l-475 1179q-34 85 -73.5 112.5t-98.5 27.5t-98.5 -27.5t-73.5 -112.5l-475 -1179q-8 -21 -8 -37 q0 -38 30.5 -63t69.5 -25q68 0 93 66l118 304h688zM1001 509h-574l287 739z" />
|
||||
<glyph unicode="ą" horiz-adv-x="1051" d="M1015 -407v85q-206 0 -206 143q0 77 62 191h-83q-134 -157 -134 -280q0 -78 54.5 -123t147.5 -45q75 0 159 29zM440 102q-93 0 -147 42.5t-54 133.5q0 50 14.5 82t44.5 54.5t90 34t138 16t202 4.5v-30q0 -147 -86.5 -242t-201.5 -95zM421 -18q215 0 308 195v-96 q0 -39 25.5 -60.5t61.5 -21.5t63.5 22.5t27.5 61.5v583q0 177 -103.5 262t-286.5 85q-214 0 -369 -87q-28 -16 -28 -46q0 -26 19 -47.5t45 -21.5q14 0 24 5q51 23 86 36t96 26t122 13q102 0 159 -51t57 -158v-109q-111 0 -189.5 -3t-152.5 -10.5t-122 -22t-88 -37t-62 -55 t-34 -75.5t-12 -100q0 -138 98 -213t255 -75z" />
|
||||
<glyph unicode="Ć" horiz-adv-x="1361" d="M771 1600q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12zM784 -22q227 0 394 109q50 32 50 78q0 31 -22 54t-53 23q-18 0 -38 -11q-78 -44 -145 -67.5t-156 -23.5q-99 0 -179.5 30t-135 82 t-91.5 124.5t-54 156.5t-17 179t17 179.5t54 157.5t91 126t133 83t176 30q40 0 77.5 -4t62.5 -9.5t52 -15t40 -15t33.5 -16t24.5 -12.5q18 -8 33 -8q31 0 53 24t22 56q0 45 -44 69q-167 93 -361 93q-157 0 -286 -58t-214 -158.5t-131.5 -235.5t-46.5 -289q0 -207 76 -371 t228 -262t357 -98z" />
|
||||
<glyph unicode="ć" horiz-adv-x="968" d="M557 -19q196 0 304 87q34 28 34 61q0 23 -16 38.5t-39 15.5q-21 0 -40 -13q-92 -64 -229 -64q-78 0 -138 32.5t-96 88t-54 123.5t-18 144q0 182 89 289.5t232 107.5q110 0 201 -59q20 -13 42 -13q24 0 40.5 15t16.5 37q0 31 -34 58q-43 36 -116 60t-159 24 q-147 0 -260 -69t-173 -186t-60 -261q0 -223 128 -369.5t345 -146.5zM543 1167q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12z" />
|
||||
<glyph unicode="Ĉ" horiz-adv-x="1361" d="M545 1553q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16zM784 -22q227 0 394 109q50 32 50 78q0 31 -22 54t-53 23q-18 0 -38 -11 q-78 -44 -145 -67.5t-156 -23.5q-99 0 -179.5 30t-135 82t-91.5 124.5t-54 156.5t-17 179t17 179.5t54 157.5t91 126t133 83t176 30q40 0 77.5 -4t62.5 -9.5t52 -15t40 -15t33.5 -16t24.5 -12.5q18 -8 33 -8q31 0 53 24t22 56q0 45 -44 69q-167 93 -361 93q-157 0 -286 -58 t-214 -158.5t-131.5 -235.5t-46.5 -289q0 -207 76 -371t228 -262t357 -98z" />
|
||||
<glyph unicode="ĉ" horiz-adv-x="968" d="M317 1120q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16zM557 -19q196 0 304 87q34 28 34 61q0 23 -16 38.5t-39 15.5q-21 0 -40 -13 q-92 -64 -229 -64q-78 0 -138 32.5t-96 88t-54 123.5t-18 144q0 182 89 289.5t232 107.5q110 0 201 -59q20 -13 42 -13q24 0 40.5 15t16.5 37q0 31 -34 58q-43 36 -116 60t-159 24q-147 0 -260 -69t-173 -186t-60 -261q0 -223 128 -369.5t345 -146.5z" />
|
||||
<glyph unicode="Ċ" horiz-adv-x="1361" d="M786 1615q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31zM784 -22q227 0 394 109q50 32 50 78q0 31 -22 54t-53 23q-18 0 -38 -11q-78 -44 -145 -67.5t-156 -23.5q-99 0 -179.5 30t-135 82t-91.5 124.5t-54 156.5t-17 179t17 179.5 t54 157.5t91 126t133 83t176 30q40 0 77.5 -4t62.5 -9.5t52 -15t40 -15t33.5 -16t24.5 -12.5q18 -8 33 -8q31 0 53 24t22 56q0 45 -44 69q-167 93 -361 93q-157 0 -286 -58t-214 -158.5t-131.5 -235.5t-46.5 -289q0 -207 76 -371t228 -262t357 -98z" />
|
||||
<glyph unicode="ċ" horiz-adv-x="968" d="M559 1182q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31zM557 -19q196 0 304 87q34 28 34 61q0 23 -16 38.5t-39 15.5q-21 0 -40 -13q-92 -64 -229 -64q-78 0 -138 32.5t-96 88t-54 123.5t-18 144q0 182 89 289.5t232 107.5 q110 0 201 -59q20 -13 42 -13q24 0 40.5 15t16.5 37q0 31 -34 58q-43 36 -116 60t-159 24q-147 0 -260 -69t-173 -186t-60 -261q0 -223 128 -369.5t345 -146.5z" />
|
||||
<glyph unicode="Č" horiz-adv-x="1361" d="M784 1514q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52zM784 -22q227 0 394 109q50 32 50 78q0 31 -22 54t-53 23q-18 0 -38 -11 q-78 -44 -145 -67.5t-156 -23.5q-99 0 -179.5 30t-135 82t-91.5 124.5t-54 156.5t-17 179t17 179.5t54 157.5t91 126t133 83t176 30q40 0 77.5 -4t62.5 -9.5t52 -15t40 -15t33.5 -16t24.5 -12.5q18 -8 33 -8q31 0 53 24t22 56q0 45 -44 69q-167 93 -361 93q-157 0 -286 -58 t-214 -158.5t-131.5 -235.5t-46.5 -289q0 -207 76 -371t228 -262t357 -98z" />
|
||||
<glyph unicode="č" horiz-adv-x="968" d="M557 1081q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52zM557 -19q196 0 304 87q34 28 34 61q0 23 -16 38.5t-39 15.5q-21 0 -40 -13 q-92 -64 -229 -64q-78 0 -138 32.5t-96 88t-54 123.5t-18 144q0 182 89 289.5t232 107.5q110 0 201 -59q20 -13 42 -13q24 0 40.5 15t16.5 37q0 31 -34 58q-43 36 -116 60t-159 24q-147 0 -260 -69t-173 -186t-60 -261q0 -223 128 -369.5t345 -146.5z" />
|
||||
<glyph unicode="Ď" horiz-adv-x="1505" d="M764 1514q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52zM379 163v1108h225q297 0 435 -128t138 -426q0 -141 -28 -241.5t-90.5 -172 t-166.5 -106t-254 -34.5h-259zM278 3h350q363 0 561 182.5t198 528.5q0 351 -196 534.5t-572 183.5h-341q-42 0 -71.5 -28.5t-29.5 -69.5v-1233q0 -41 29.5 -69.5t71.5 -28.5z" />
|
||||
<glyph unicode="ď" horiz-adv-x="1195" d="M546 106q-78 1 -135.5 37.5t-87.5 96.5t-44 124.5t-14 134.5q0 72 15.5 138t47.5 124.5t90.5 93.5t136.5 35q79 0 138.5 -33t94 -89t51.5 -123t17 -143q0 -396 -310 -396zM514 -18q116 0 205.5 48.5t137.5 144.5v-89q0 -39 23 -61.5t68 -22.5q36 0 63 22.5t27 62.5v1258 q0 39 -27 61.5t-63 22.5q-37 0 -64 -22.5t-27 -61.5v-519q-45 91 -130.5 139t-196.5 48q-104 0 -189.5 -39.5t-141 -109t-85.5 -162t-30 -199.5q0 -105 27.5 -198t79.5 -165.5t135.5 -115t187.5 -42.5zM1207 985h43q38 0 53 43l138 403q3 12 3 18q0 35 -37 38h-85 q-64 -2 -73 -56l-66 -403q-1 -3 -1 -12q0 -30 25 -31z" />
|
||||
<glyph unicode="Đ" horiz-adv-x="1505" d="M74 658h469q38 0 60 18t22 48q0 32 -22 50.5t-60 18.5h-466q-38 0 -60.5 -19t-22.5 -50q0 -30 21.5 -48t58.5 -18zM379 163v1108h225q297 0 435 -128t138 -426q0 -141 -28 -241.5t-90.5 -172t-166.5 -106t-254 -34.5h-259zM278 3h350q363 0 561 182.5t198 528.5 q0 351 -196 534.5t-572 183.5h-341q-42 0 -71.5 -28.5t-29.5 -69.5v-1233q0 -41 29.5 -69.5t71.5 -28.5z" />
|
||||
<glyph unicode="đ" horiz-adv-x="1195" d="M646 1149h504q33 0 50 18t17 47q0 27 -17 45.5t-50 18.5h-504q-33 0 -51 -18.5t-18 -45.5q0 -29 17.5 -47t51.5 -18zM546 106q-78 1 -135.5 37.5t-87.5 96.5t-44 124.5t-14 134.5q0 72 15.5 138t47.5 124.5t90.5 93.5t136.5 35q79 0 138.5 -33t94 -89t51.5 -123t17 -143 q0 -396 -310 -396zM514 -18q116 0 205.5 48.5t137.5 144.5v-89q0 -39 23 -61.5t68 -22.5q36 0 63 22.5t27 62.5v1258q0 39 -27 61.5t-63 22.5q-37 0 -64 -22.5t-27 -61.5v-519q-45 91 -130.5 139t-196.5 48q-104 0 -189.5 -39.5t-141 -109t-85.5 -162t-30 -199.5 q0 -105 27.5 -198t79.5 -165.5t135.5 -115t187.5 -42.5z" />
|
||||
<glyph unicode="Ē" horiz-adv-x="1236" d="M396 1669h504q33 0 50 18t17 47q0 27 -17 45.5t-50 18.5h-504q-33 0 -51 -18.5t-18 -45.5q0 -29 17.5 -47t51.5 -18zM277 0h762q38 0 59 23.5t21 56.5t-21 57t-59 24h-660v495h600q38 0 59.5 23.5t21.5 55.5t-21 55t-60 23h-600v455h634q38 0 59 24t21 57t-21 56.5 t-59 23.5h-741q-40 0 -67.5 -29.5t-27.5 -68.5v-1233q0 -39 30.5 -68.5t69.5 -29.5z" />
|
||||
<glyph unicode="ē" horiz-adv-x="1135" d="M335 1232h504q33 0 50 18t17 47q0 27 -17 45.5t-50 18.5h-504q-33 0 -51 -18.5t-18 -45.5q0 -29 17.5 -47t51.5 -18zM275 572q5 62 26.5 117.5t58 101t93.5 72.5t127 27q135 0 205 -89t79 -229h-589zM583 -18q224 0 382 142q28 25 28 57q0 25 -16.5 43.5t-40.5 18.5 q-20 0 -38 -14q-72 -55 -143 -87t-160 -32q-141 2 -231 90.5t-92 260.5h686q32 0 48 19t16 48q-3 101 -29 185.5t-78 153t-140 107.5t-205 39q-148 0 -259 -72t-166 -187t-55 -254q0 -158 65.5 -276.5t176.5 -179.5t251 -62z" />
|
||||
<glyph unicode="Ĕ" horiz-adv-x="1236" d="M648 1638q97 0 168 41t105 116q6 15 6 29q0 23 -16 36.5t-39 13.5q-33 0 -54 -30q-33 -46 -69 -64t-101 -18t-101.5 18t-68.5 64q-21 30 -54 30q-23 0 -39 -13.5t-16 -36.5q0 -14 6 -29q34 -75 105 -116t168 -41zM277 0h762q38 0 59 23.5t21 56.5t-21 57t-59 24h-660v495 h600q38 0 59.5 23.5t21.5 55.5t-21 55t-60 23h-600v455h634q38 0 59 24t21 57t-21 56.5t-59 23.5h-741q-40 0 -67.5 -29.5t-27.5 -68.5v-1233q0 -39 30.5 -68.5t69.5 -29.5z" />
|
||||
<glyph unicode="ĕ" horiz-adv-x="1135" d="M275 572q5 62 26.5 117.5t58 101t93.5 72.5t127 27q135 0 205 -89t79 -229h-589zM583 -18q224 0 382 142q28 25 28 57q0 25 -16.5 43.5t-40.5 18.5q-20 0 -38 -14q-72 -55 -143 -87t-160 -32q-141 2 -231 90.5t-92 260.5h686q32 0 48 19t16 48q-3 101 -29 185.5t-78 153 t-140 107.5t-205 39q-148 0 -259 -72t-166 -187t-55 -254q0 -158 65.5 -276.5t176.5 -179.5t251 -62zM587 1201q97 0 168 41t105 116q6 15 6 29q0 23 -16 36.5t-39 13.5q-33 0 -54 -30q-33 -46 -69 -64t-101 -18t-101.5 18t-68.5 64q-21 30 -54 30q-23 0 -39 -13.5 t-16 -36.5q0 -14 6 -29q34 -75 105 -116t168 -41z" />
|
||||
<glyph unicode="Ė" horiz-adv-x="1236" d="M643 1615q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31zM277 0h762q38 0 59 23.5t21 56.5t-21 57t-59 24h-660v495h600q38 0 59.5 23.5t21.5 55.5t-21 55t-60 23h-600v455h634q38 0 59 24t21 57t-21 56.5t-59 23.5h-741 q-40 0 -67.5 -29.5t-27.5 -68.5v-1233q0 -39 30.5 -68.5t69.5 -29.5z" />
|
||||
<glyph unicode="ė" horiz-adv-x="1135" d="M275 572q5 62 26.5 117.5t58 101t93.5 72.5t127 27q135 0 205 -89t79 -229h-589zM583 -18q224 0 382 142q28 25 28 57q0 25 -16.5 43.5t-40.5 18.5q-20 0 -38 -14q-72 -55 -143 -87t-160 -32q-141 2 -231 90.5t-92 260.5h686q32 0 48 19t16 48q-3 101 -29 185.5t-78 153 t-140 107.5t-205 39q-148 0 -259 -72t-166 -187t-55 -254q0 -158 65.5 -276.5t176.5 -179.5t251 -62zM582 1178q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31z" />
|
||||
<glyph unicode="Ę" horiz-adv-x="1236" d="M1011 -410v85q-206 0 -206 143q0 77 62 191h-83q-134 -157 -134 -280q0 -78 54.5 -123t147.5 -45q75 0 159 29zM277 0h762q38 0 59 23.5t21 56.5t-21 57t-59 24h-660v495h600q38 0 59.5 23.5t21.5 55.5t-21 55t-60 23h-600v455h634q38 0 59 24t21 57t-21 56.5t-59 23.5 h-741q-40 0 -67.5 -29.5t-27.5 -68.5v-1233q0 -39 30.5 -68.5t69.5 -29.5z" />
|
||||
<glyph unicode="ę" horiz-adv-x="1135" d="M944 -392v85q-206 0 -206 143q0 77 62 191h-83q-134 -157 -134 -280q0 -78 54.5 -123t147.5 -45q75 0 159 29zM275 572q5 62 26.5 117.5t58 101t93.5 72.5t127 27q135 0 205 -89t79 -229h-589zM583 -18q224 0 382 142q28 25 28 57q0 25 -16.5 43.5t-40.5 18.5 q-20 0 -38 -14q-72 -55 -143 -87t-160 -32q-141 2 -231 90.5t-92 260.5h686q32 0 48 19t16 48q-3 101 -29 185.5t-78 153t-140 107.5t-205 39q-148 0 -259 -72t-166 -187t-55 -254q0 -158 65.5 -276.5t176.5 -179.5t251 -62z" />
|
||||
<glyph unicode="Ě" horiz-adv-x="1236" d="M641 1514q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52zM277 0h762q38 0 59 23.5t21 56.5t-21 57t-59 24h-660v495h600q38 0 59.5 23.5 t21.5 55.5t-21 55t-60 23h-600v455h634q38 0 59 24t21 57t-21 56.5t-59 23.5h-741q-40 0 -67.5 -29.5t-27.5 -68.5v-1233q0 -39 30.5 -68.5t69.5 -29.5z" />
|
||||
<glyph unicode="ě" horiz-adv-x="1135" d="M275 572q5 62 26.5 117.5t58 101t93.5 72.5t127 27q135 0 205 -89t79 -229h-589zM583 -18q224 0 382 142q28 25 28 57q0 25 -16.5 43.5t-40.5 18.5q-20 0 -38 -14q-72 -55 -143 -87t-160 -32q-141 2 -231 90.5t-92 260.5h686q32 0 48 19t16 48q-3 101 -29 185.5t-78 153 t-140 107.5t-205 39q-148 0 -259 -72t-166 -187t-55 -254q0 -158 65.5 -276.5t176.5 -179.5t251 -62zM580 1077q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48 l190 -264q38 -52 91 -52z" />
|
||||
<glyph unicode="Ĝ" horiz-adv-x="1459" d="M610 1543q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16zM807 -22q234 0 457 75q78 25 78 110v500q0 41 -21.5 65.5t-61.5 24.5h-386 q-33 0 -52.5 -24.5t-19.5 -54.5q0 -28 19.5 -52t52.5 -24h267v-415q-155 -43 -315 -43q-125 0 -219.5 42t-152.5 119.5t-87 181.5t-29 234q0 128 30.5 231t91.5 179.5t159 118.5t227 42q135 0 352 -62q10 -2 20 -2q31 0 51.5 26t20.5 58q0 49 -46 69q-176 73 -405 73 q-141 0 -259 -39t-201.5 -107t-141.5 -160.5t-85.5 -200.5t-27.5 -226q0 -180 51 -321.5t142.5 -232t216 -138t274.5 -47.5z" />
|
||||
<glyph unicode="ĝ" horiz-adv-x="1181" d="M569 120q-132 0 -218 96t-86 282q0 111 31 197t101 140.5t172 54.5q64 0 115 -21.5t83.5 -58t54 -87t30.5 -105t9 -116.5q0 -181 -82 -281.5t-210 -100.5zM561 -423q221 0 348.5 108t127.5 321v903q0 40 -25 62.5t-60 22.5q-32 0 -56.5 -19.5t-27.5 -53.5v-101 q-99 193 -332 193q-141 0 -245 -71t-155.5 -187.5t-51.5 -262.5q0 -103 30.5 -192t87 -156t144 -105.5t195.5 -38.5q115 0 197.5 53.5t123.5 144.5v-198q0 -144 -79 -220.5t-234 -76.5q-24 0 -47.5 2t-42 4.5t-41 7.5l-36 8t-35 10t-29.5 10t-28.5 11t-24.5 9q-11 4 -23 4 q-25 0 -42.5 -18.5t-17.5 -43.5q0 -37 38 -58q135 -72 341 -72zM301 1106q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16z" />
|
||||
<glyph unicode="Ğ" horiz-adv-x="1459" d="M857 1628q97 0 168 41t105 116q6 15 6 29q0 23 -16 36.5t-39 13.5q-33 0 -54 -30q-33 -46 -69 -64t-101 -18t-101.5 18t-68.5 64q-21 30 -54 30q-23 0 -39 -13.5t-16 -36.5q0 -14 6 -29q34 -75 105 -116t168 -41zM807 -22q234 0 457 75q78 25 78 110v500q0 41 -21.5 65.5 t-61.5 24.5h-386q-33 0 -52.5 -24.5t-19.5 -54.5q0 -28 19.5 -52t52.5 -24h267v-415q-155 -43 -315 -43q-125 0 -219.5 42t-152.5 119.5t-87 181.5t-29 234q0 128 30.5 231t91.5 179.5t159 118.5t227 42q135 0 352 -62q10 -2 20 -2q31 0 51.5 26t20.5 58q0 49 -46 69 q-176 73 -405 73q-141 0 -259 -39t-201.5 -107t-141.5 -160.5t-85.5 -200.5t-27.5 -226q0 -180 51 -321.5t142.5 -232t216 -138t274.5 -47.5z" />
|
||||
<glyph unicode="ğ" horiz-adv-x="1181" d="M569 120q-132 0 -218 96t-86 282q0 111 31 197t101 140.5t172 54.5q64 0 115 -21.5t83.5 -58t54 -87t30.5 -105t9 -116.5q0 -181 -82 -281.5t-210 -100.5zM561 -423q221 0 348.5 108t127.5 321v903q0 40 -25 62.5t-60 22.5q-32 0 -56.5 -19.5t-27.5 -53.5v-101 q-99 193 -332 193q-141 0 -245 -71t-155.5 -187.5t-51.5 -262.5q0 -103 30.5 -192t87 -156t144 -105.5t195.5 -38.5q115 0 197.5 53.5t123.5 144.5v-198q0 -144 -79 -220.5t-234 -76.5q-24 0 -47.5 2t-42 4.5t-41 7.5l-36 8t-35 10t-29.5 10t-28.5 11t-24.5 9q-11 4 -23 4 q-25 0 -42.5 -18.5t-17.5 -43.5q0 -37 38 -58q135 -72 341 -72zM548 1191q97 0 168 41t105 116q6 15 6 29q0 23 -16 36.5t-39 13.5q-33 0 -54 -30q-33 -46 -69 -64t-101 -18t-101.5 18t-68.5 64q-21 30 -54 30q-23 0 -39 -13.5t-16 -36.5q0 -14 6 -29q34 -75 105 -116 t168 -41z" />
|
||||
<glyph unicode="Ġ" horiz-adv-x="1459" d="M852 1605q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31zM807 -22q234 0 457 75q78 25 78 110v500q0 41 -21.5 65.5t-61.5 24.5h-386q-33 0 -52.5 -24.5t-19.5 -54.5q0 -28 19.5 -52t52.5 -24h267v-415q-155 -43 -315 -43 q-125 0 -219.5 42t-152.5 119.5t-87 181.5t-29 234q0 128 30.5 231t91.5 179.5t159 118.5t227 42q135 0 352 -62q10 -2 20 -2q31 0 51.5 26t20.5 58q0 49 -46 69q-176 73 -405 73q-141 0 -259 -39t-201.5 -107t-141.5 -160.5t-85.5 -200.5t-27.5 -226q0 -180 51 -321.5 t142.5 -232t216 -138t274.5 -47.5z" />
|
||||
<glyph unicode="ġ" horiz-adv-x="1181" d="M569 120q-132 0 -218 96t-86 282q0 111 31 197t101 140.5t172 54.5q64 0 115 -21.5t83.5 -58t54 -87t30.5 -105t9 -116.5q0 -181 -82 -281.5t-210 -100.5zM561 -423q221 0 348.5 108t127.5 321v903q0 40 -25 62.5t-60 22.5q-32 0 -56.5 -19.5t-27.5 -53.5v-101 q-99 193 -332 193q-141 0 -245 -71t-155.5 -187.5t-51.5 -262.5q0 -103 30.5 -192t87 -156t144 -105.5t195.5 -38.5q115 0 197.5 53.5t123.5 144.5v-198q0 -144 -79 -220.5t-234 -76.5q-24 0 -47.5 2t-42 4.5t-41 7.5l-36 8t-35 10t-29.5 10t-28.5 11t-24.5 9q-11 4 -23 4 q-25 0 -42.5 -18.5t-17.5 -43.5q0 -37 38 -58q135 -72 341 -72zM543 1168q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31z" />
|
||||
<glyph unicode="Ģ" horiz-adv-x="1459" d="M678 -606h43q38 0 53 43l138 403q3 12 3 18q0 35 -37 38h-84q-64 -2 -73 -56l-67 -403q-1 -3 -1 -12q0 -30 25 -31zM807 -22q234 0 457 75q78 25 78 110v500q0 41 -21.5 65.5t-61.5 24.5h-386q-33 0 -52.5 -24.5t-19.5 -54.5q0 -28 19.5 -52t52.5 -24h267v-415 q-155 -43 -315 -43q-125 0 -219.5 42t-152.5 119.5t-87 181.5t-29 234q0 128 30.5 231t91.5 179.5t159 118.5t227 42q135 0 352 -62q10 -2 20 -2q31 0 51.5 26t20.5 58q0 49 -46 69q-176 73 -405 73q-141 0 -259 -39t-201.5 -107t-141.5 -160.5t-85.5 -200.5t-27.5 -226 q0 -180 51 -321.5t142.5 -232t216 -138t274.5 -47.5z" />
|
||||
<glyph unicode="ģ" horiz-adv-x="1181" d="M493 1208h106q64 2 73 56l84 475q1 3 1 12q0 30 -25 31h-56q-38 0 -53 -43l-164 -475q-3 -12 -3 -18q0 -35 37 -38zM569 120q-132 0 -218 96t-86 282q0 111 31 197t101 140.5t172 54.5q64 0 115 -21.5t83.5 -58t54 -87t30.5 -105t9 -116.5q0 -181 -82 -281.5t-210 -100.5 zM561 -423q221 0 348.5 108t127.5 321v903q0 40 -25 62.5t-60 22.5q-32 0 -56.5 -19.5t-27.5 -53.5v-101q-99 193 -332 193q-141 0 -245 -71t-155.5 -187.5t-51.5 -262.5q0 -103 30.5 -192t87 -156t144 -105.5t195.5 -38.5q115 0 197.5 53.5t123.5 144.5v-198 q0 -144 -79 -220.5t-234 -76.5q-24 0 -47.5 2t-42 4.5t-41 7.5l-36 8t-35 10t-29.5 10t-28.5 11t-24.5 9q-11 4 -23 4q-25 0 -42.5 -18.5t-17.5 -43.5q0 -37 38 -58q135 -72 341 -72z" />
|
||||
<glyph unicode="Ĥ" horiz-adv-x="1477" d="M518 1553q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16zM277 1q42 0 72 25t30 71v564h723v-564q0 -45 29.5 -70.5t70.5 -25.5q42 0 72 25t30 71 v1235q0 46 -30 71.5t-71 25.5t-71 -26t-30 -71v-510h-723v510q0 46 -29.5 71.5t-70.5 25.5q-42 0 -72 -25.5t-30 -71.5v-1235q0 -45 29.5 -70.5t70.5 -25.5z" />
|
||||
<glyph unicode="ĥ" horiz-adv-x="1161" d="M241 0q37 0 64.5 23t27.5 63v485q0 147 84 227.5t207 80.5q101 0 158.5 -59t57.5 -178v-556q0 -40 26.5 -63t62.5 -23q37 0 64 23t27 63v546q0 99 -28.5 174t-79 119.5t-113 66t-136.5 21.5q-110 0 -200 -46.5t-130 -128.5v507q0 40 -26.5 61.5t-63.5 21.5t-64 -22 t-27 -61v-1259q0 -40 26.5 -63t62.5 -23zM472 1304q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16z" />
|
||||
<glyph unicode="Ħ" horiz-adv-x="1477" d="M118 1023h1243q31 0 49 14.5t18 38.5t-18 39t-49 15h-1243q-30 0 -47.5 -15t-17.5 -39t17.5 -38.5t47.5 -14.5zM277 1q42 0 72 25t30 71v564h723v-564q0 -45 29.5 -70.5t70.5 -25.5q42 0 72 25t30 71v1235q0 46 -30 71.5t-71 25.5t-71 -26t-30 -71v-510h-723v510 q0 46 -29.5 71.5t-70.5 25.5q-42 0 -72 -25.5t-30 -71.5v-1235q0 -45 29.5 -70.5t70.5 -25.5z" />
|
||||
<glyph unicode="ħ" horiz-adv-x="1161" d="M241 0q37 0 64.5 23t27.5 63v485q0 147 84 227.5t207 80.5q101 0 158.5 -59t57.5 -178v-556q0 -40 26.5 -63t62.5 -23q37 0 64 23t27 63v546q0 99 -28.5 174t-79 119.5t-113 66t-136.5 21.5q-110 0 -200 -46.5t-130 -128.5v507q0 40 -26.5 61.5t-63.5 21.5t-64 -22 t-27 -61v-1259q0 -40 26.5 -63t62.5 -23z" />
|
||||
<glyph unicode="Ĩ" horiz-adv-x="606" d="M554 1784q-24 0 -61 -38t-62 -38q-29 0 -114.5 36t-137.5 36q-133 0 -177 -141q-4 -8 -4 -17q0 -19 12.5 -29.5t31.5 -10.5q34 0 57 32q34 43 76 43q33 0 116.5 -37t127.5 -37q66 0 120.5 43t54.5 106q0 15 -9 20q-2 32 -31 32zM302 1q42 0 72 25t30 71v1236 q0 46 -29.5 71.5t-70.5 25.5t-71.5 -26t-30.5 -71v-1236q0 -45 29.5 -70.5t70.5 -25.5z" />
|
||||
<glyph unicode="ĩ" horiz-adv-x="485" d="M488 1337q-24 0 -61 -38t-62 -38q-29 0 -114.5 36t-137.5 36q-133 0 -177 -141q-4 -8 -4 -17q0 -19 12.5 -29.5t31.5 -10.5q34 0 57 32q34 43 76 43q33 0 116.5 -37t127.5 -37q66 0 120.5 43t54.5 106q0 15 -9 20q-2 32 -31 32zM240 0q37 0 65 24t28 67v813q0 42 -27 66 t-63 24q-37 0 -64 -24t-27 -66v-813q0 -44 25.5 -67.5t62.5 -23.5z" />
|
||||
<glyph unicode="Ī" horiz-adv-x="606" d="M58 1669h504q33 0 50 18t17 47q0 27 -17 45.5t-50 18.5h-504q-33 0 -51 -18.5t-18 -45.5q0 -29 17.5 -47t51.5 -18zM302 1q42 0 72 25t30 71v1236q0 46 -29.5 71.5t-70.5 25.5t-71.5 -26t-30.5 -71v-1236q0 -45 29.5 -70.5t70.5 -25.5z" />
|
||||
<glyph unicode="ī" horiz-adv-x="485" d="M-8 1222h504q33 0 50 18t17 47q0 27 -17 45.5t-50 18.5h-504q-33 0 -51 -18.5t-18 -45.5q0 -29 17.5 -47t51.5 -18zM240 0q37 0 65 24t28 67v813q0 42 -27 66t-63 24q-37 0 -64 -24t-27 -66v-813q0 -44 25.5 -67.5t62.5 -23.5z" />
|
||||
<glyph unicode="Ĭ" horiz-adv-x="606" d="M310 1638q97 0 168 41t105 116q6 15 6 29q0 23 -16 36.5t-39 13.5q-33 0 -54 -30q-33 -46 -69 -64t-101 -18t-101.5 18t-68.5 64q-21 30 -54 30q-23 0 -39 -13.5t-16 -36.5q0 -14 6 -29q34 -75 105 -116t168 -41zM302 1q42 0 72 25t30 71v1236q0 46 -29.5 71.5 t-70.5 25.5t-71.5 -26t-30.5 -71v-1236q0 -45 29.5 -70.5t70.5 -25.5z" />
|
||||
<glyph unicode="ĭ" horiz-adv-x="485" d="M240 0q37 0 65 24t28 67v813q0 42 -27 66t-63 24q-37 0 -64 -24t-27 -66v-813q0 -44 25.5 -67.5t62.5 -23.5zM243 1191q97 0 168 41t105 116q6 15 6 29q0 23 -16 36.5t-39 13.5q-33 0 -54 -30q-33 -46 -69 -64t-101 -18t-101.5 18t-68.5 64q-21 30 -54 30 q-23 0 -39 -13.5t-16 -36.5q0 -14 6 -29q34 -75 105 -116t168 -41z" />
|
||||
<glyph unicode="Į" horiz-adv-x="606" d="M495 -396v85q-206 0 -206 143q0 77 62 191h-83q-134 -157 -134 -280q0 -78 54.5 -123t147.5 -45q75 0 159 29zM302 1q42 0 72 25t30 71v1236q0 46 -29.5 71.5t-70.5 25.5t-71.5 -26t-30.5 -71v-1236q0 -45 29.5 -70.5t70.5 -25.5z" />
|
||||
<glyph unicode="į" horiz-adv-x="485" d="M437 -419v85q-206 0 -206 143q0 77 62 191h-83q-134 -157 -134 -280q0 -78 54.5 -123t147.5 -45q75 0 159 29zM240 0q37 0 65 24t28 67v813q0 42 -27 66t-63 24q-37 0 -64 -24t-27 -66v-813q0 -44 25.5 -67.5t62.5 -23.5zM239 1168q53 0 84.5 31t31.5 76q0 42 -32 74 t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31z" />
|
||||
<glyph unicode="İ" horiz-adv-x="606" d="M305 1615q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31zM302 1q42 0 72 25t30 71v1236q0 46 -29.5 71.5t-70.5 25.5t-71.5 -26t-30.5 -71v-1236q0 -45 29.5 -70.5t70.5 -25.5z" />
|
||||
<glyph unicode="ı" horiz-adv-x="484" d="M240 0q37 0 65 24t28 67v813q0 42 -27 66t-63 24q-37 0 -64 -24t-27 -66v-813q0 -44 25.5 -67.5t62.5 -23.5z" />
|
||||
<glyph unicode="IJ" horiz-adv-x="1632" d="M1033 -25q91 0 169 26t141.5 79.5t100 146t36.5 215.5v892q0 45 -29.5 70t-71.5 25t-72 -25t-30 -70v-877q0 -165 -61.5 -239t-185.5 -74q-106 0 -213 68q-31 23 -60 23q-33 0 -54 -27t-21 -63q0 -45 33 -68q136 -102 318 -102zM302 1q42 0 72 25t30 71v1236 q0 46 -29.5 71.5t-70.5 25.5t-71.5 -26t-30.5 -71v-1236q0 -45 29.5 -70.5t70.5 -25.5z" />
|
||||
<glyph unicode="ij" horiz-adv-x="1013" d="M758 1225q53 0 85 30.5t32 79.5q0 50 -32 80.5t-84 30.5q-53 0 -85.5 -30.5t-32.5 -80.5q0 -49 32 -79.5t85 -30.5zM522 -378q77 0 131.5 7.5t91.5 28t58 44.5t32.5 68.5t14.5 88t3 114.5v931q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66v-967q0 -43 -1.5 -69.5 t-8.5 -48t-15.5 -32t-28 -17.5t-41 -8.5t-58.5 -1.5q-29 0 -45.5 -20.5t-16.5 -48.5t17 -48.5t48 -20.5zM253 1225q53 0 85 30.5t32 79.5q0 50 -32 80.5t-84 30.5q-53 0 -85.5 -31t-32.5 -80t32 -79.5t85 -30.5zM252 0q37 0 64.5 24.5t27.5 66.5v813q0 42 -26.5 66t-62.5 24 q-37 0 -64.5 -24t-27.5 -66v-813q0 -44 26 -67.5t63 -23.5z" />
|
||||
<glyph unicode="Ĵ" horiz-adv-x="1027" d="M536 1553q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16zM427 -25q91 0 169 26t141.5 79.5t100 146t36.5 215.5v892q0 45 -29.5 70t-71.5 25 t-72 -25t-30 -70v-877q0 -165 -61.5 -239t-185.5 -74q-106 0 -213 68q-31 23 -60 23q-33 0 -54 -27t-21 -63q0 -45 33 -68q136 -102 318 -102z" />
|
||||
<glyph unicode="ĵ" horiz-adv-x="489" d="M-1 -379q60 0 106 4.5t81 15.5t60 24.5t42 37.5t26.5 47.5t15 61.5t7 72.5t1.5 87.5v926q0 46 -25 70.5t-65 24.5t-66.5 -25t-26.5 -71v-955q0 -65 -4.5 -98.5t-23.5 -53.5t-46 -25t-83 -5q-30 0 -47 -20.5t-17 -48.5q0 -29 17 -49.5t48 -20.5zM1 1106q39 0 69 38 l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16z" />
|
||||
<glyph unicode="Ķ" horiz-adv-x="1269" d="M494 -606h43q38 0 53 43l138 403q3 12 3 18q0 35 -37 38h-84q-64 -2 -73 -56l-67 -403q-1 -3 -1 -12q0 -30 25 -31zM276 0q41 0 71.5 25t30.5 70v614l635 -667q39 -42 79 -42t69.5 26.5t29.5 65.5q0 36 -23 60l-583 596l530 542q22 22 22 56q0 35 -27 59t-64 24 q-39 0 -75 -38l-593 -626v568q0 45 -30 70.5t-70 25.5q-41 0 -71 -25.5t-30 -70.5v-1238q0 -45 29 -70t70 -25z" />
|
||||
<glyph unicode="ķ" horiz-adv-x="1004" d="M366 -606h43q38 0 53 43l138 403q3 12 3 18q0 35 -37 38h-84q-64 -2 -73 -56l-67 -403q-1 -3 -1 -12q0 -30 25 -31zM241 0q37 0 64.5 24t27.5 67v436l470 -500q25 -28 60 -28q33 0 58.5 25t25.5 57q0 29 -22 52l-397 418l363 325q24 23 24 51q0 31 -24.5 56t-56.5 25 q-25 0 -47 -19l-454 -416v765q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66v-1247q0 -44 26 -67.5t63 -23.5z" />
|
||||
<glyph unicode="ĸ" horiz-adv-x="1002" d="M243 0q37 0 64.5 24t27.5 67v410l471 -474q26 -27 60 -27t59.5 24.5t25.5 56.5q0 29 -24 52l-396 391l362 352q23 23 23 52q0 32 -24 57t-55 25q-27 0 -48 -21l-454 -443v370q0 42 -26.5 66t-62.5 24q-37 0 -64 -23.5t-27 -66.5v-825q0 -44 26 -67.5t62 -23.5z" />
|
||||
<glyph unicode="Ĺ" horiz-adv-x="1108" d="M356 1615q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12zM279 0h729q38 0 59.5 24t21.5 56q0 33 -21 57t-60 24h-629v1171q0 46 -29.5 71.5t-70.5 25.5q-42 0 -72 -25.5t-30 -71.5v-1232 q0 -42 30 -71t72 -29z" />
|
||||
<glyph unicode="ĺ" horiz-adv-x="504" d="M254 0q37 0 64.5 24.5t27.5 66.5v1247q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66v-1247q0 -44 26 -67.5t63 -23.5zM283 1592q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12z" />
|
||||
<glyph unicode="Ļ" horiz-adv-x="1108" d="M498 -606h43q38 0 53 43l138 403q3 12 3 18q0 35 -37 38h-84q-64 -2 -73 -56l-67 -403q-1 -3 -1 -12q0 -30 25 -31zM279 0h729q38 0 59.5 24t21.5 56q0 33 -21 57t-60 24h-629v1171q0 46 -29.5 71.5t-70.5 25.5q-42 0 -72 -25.5t-30 -71.5v-1232q0 -42 30 -71t72 -29z " />
|
||||
<glyph unicode="ļ" horiz-adv-x="504" d="M98 -606h43q38 0 53 43l138 403q3 12 3 18q0 35 -37 38h-84q-64 -2 -73 -56l-67 -403q-1 -3 -1 -12q0 -30 25 -31zM254 0q37 0 64.5 24.5t27.5 66.5v1247q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66v-1247q0 -44 26 -67.5t63 -23.5z" />
|
||||
<glyph unicode="Ľ" horiz-adv-x="1108" d="M749 985h43q38 0 53 43l138 403q3 12 3 18q0 35 -37 38h-85q-64 -2 -73 -56l-66 -403q-1 -3 -1 -12q0 -30 25 -31zM279 0h729q38 0 59.5 24t21.5 56q0 33 -21 57t-60 24h-629v1171q0 46 -29.5 71.5t-70.5 25.5q-42 0 -72 -25.5t-30 -71.5v-1232q0 -42 30 -71t72 -29z" />
|
||||
<glyph unicode="ľ" horiz-adv-x="504" d="M254 0q37 0 64.5 24.5t27.5 66.5v1247q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66v-1247q0 -44 26 -67.5t63 -23.5zM573 985h43q38 0 53 43l138 403q3 12 3 18q0 35 -37 38h-85q-64 -2 -73 -56l-66 -403q-1 -3 -1 -12q0 -30 25 -31z" />
|
||||
<glyph unicode="Ŀ" horiz-adv-x="1108" d="M682 602q53 0 84.5 32t31.5 77q0 44 -32 75.5t-84 31.5q-53 0 -85.5 -32t-32.5 -75q0 -45 32.5 -77t85.5 -32zM279 0h729q38 0 59.5 24t21.5 56q0 33 -21 57t-60 24h-629v1171q0 46 -29.5 71.5t-70.5 25.5q-42 0 -72 -25.5t-30 -71.5v-1232q0 -42 30 -71t72 -29z" />
|
||||
<glyph unicode="ŀ" horiz-adv-x="504" d="M598 552q53 0 84.5 32t31.5 77q0 44 -32 75.5t-84 31.5q-53 0 -85.5 -32t-32.5 -75q0 -45 32.5 -77t85.5 -32zM254 0q37 0 64.5 24.5t27.5 66.5v1247q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66v-1247q0 -44 26 -67.5t63 -23.5z" />
|
||||
<glyph unicode="Ł" horiz-adv-x="1157" d="M534 850q29 19 29 53q0 9 -2.5 17.5t-6.5 16.5t-10 15t-12.5 12t-15 7.5t-17.5 2.5q-8 0 -16.5 -2.5t-17.5 -8.5l-86 -55v424q0 46 -29.5 71.5t-70.5 25.5q-42 0 -72 -25.5t-30 -71.5v-552l-101 -64q-32 -21 -32 -58q0 -27 17.5 -47.5t42.5 -20.5q6 0 12 1t12.5 4t12.5 7 l36 23v-525q0 -42 30 -71t72 -29h729q38 0 59.5 24t21.5 56q0 33 -21 57t-60 24h-629v591z" />
|
||||
<glyph unicode="ł" horiz-adv-x="575" d="M511 839q29 19 29 53q0 10 -3 20.5t-9 19.5t-14 16t-17.5 11t-20.5 4q-8 0 -16.5 -2.5t-17.5 -8.5l-52 -33v419q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66v-536l-103 -66q-32 -21 -32 -58q0 -27 17.5 -47.5t42.5 -20.5q9 0 18.5 3t18.5 9l38 24v-555 q0 -44 26 -67.5t63 -23.5t64.5 24.5t27.5 66.5v671z" />
|
||||
<glyph unicode="Ń" horiz-adv-x="1515" d="M784 1602q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12zM268 0q38 0 66 23.5t28 65.5v1037l731 -1060q22 -32 56 -49t68 -17q52 0 87.5 35t35.5 94v1211q0 42 -28 65.5t-65 23.5 q-39 0 -66 -23.5t-27 -65.5v-1050l-728 1060q-27 39 -64.5 59t-72.5 20q-49 0 -81.5 -34.5t-32.5 -94.5v-1211q0 -42 27.5 -65.5t65.5 -23.5z" />
|
||||
<glyph unicode="ń" d="M241 0q37 0 64.5 23t27.5 63v499q7 141 86 223t194 82q108 0 167.5 -67t59.5 -195v-542q0 -41 26.5 -63.5t63.5 -22.5t63.5 22.5t26.5 63.5v540q0 195 -98 291t-263 96q-115 0 -201.5 -49t-124.5 -140v87q0 39 -26.5 60.5t-63.5 21.5t-64 -22.5t-27 -62.5v-822 q0 -41 26 -63.5t63 -22.5zM599 1153q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12z" />
|
||||
<glyph unicode="Ņ" horiz-adv-x="1515" d="M619 -606h43q38 0 53 43l138 403q3 12 3 18q0 35 -37 38h-84q-64 -2 -73 -56l-67 -403q-1 -3 -1 -12q0 -30 25 -31zM268 0q38 0 66 23.5t28 65.5v1037l731 -1060q22 -32 56 -49t68 -17q52 0 87.5 35t35.5 94v1211q0 42 -28 65.5t-65 23.5q-39 0 -66 -23.5t-27 -65.5 v-1050l-728 1060q-27 39 -64.5 59t-72.5 20q-49 0 -81.5 -34.5t-32.5 -94.5v-1211q0 -42 27.5 -65.5t65.5 -23.5z" />
|
||||
<glyph unicode="ņ" d="M426 -606h43q38 0 53 43l138 403q3 12 3 18q0 35 -37 38h-84q-64 -2 -73 -56l-67 -403q-1 -3 -1 -12q0 -30 25 -31zM241 0q37 0 64.5 23t27.5 63v499q7 141 86 223t194 82q108 0 167.5 -67t59.5 -195v-542q0 -41 26.5 -63.5t63.5 -22.5t63.5 22.5t26.5 63.5v540 q0 195 -98 291t-263 96q-115 0 -201.5 -49t-124.5 -140v87q0 39 -26.5 60.5t-63.5 21.5t-64 -22.5t-27 -62.5v-822q0 -41 26 -63.5t63 -22.5z" />
|
||||
<glyph unicode="Ň" horiz-adv-x="1515" d="M798 1516q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52zM268 0q38 0 66 23.5t28 65.5v1037l731 -1060q22 -32 56 -49t68 -17 q52 0 87.5 35t35.5 94v1211q0 42 -28 65.5t-65 23.5q-39 0 -66 -23.5t-27 -65.5v-1050l-728 1060q-27 39 -64.5 59t-72.5 20q-49 0 -81.5 -34.5t-32.5 -94.5v-1211q0 -42 27.5 -65.5t65.5 -23.5z" />
|
||||
<glyph unicode="ň" d="M241 0q37 0 64.5 23t27.5 63v499q7 141 86 223t194 82q108 0 167.5 -67t59.5 -195v-542q0 -41 26.5 -63.5t63.5 -22.5t63.5 22.5t26.5 63.5v540q0 195 -98 291t-263 96q-115 0 -201.5 -49t-124.5 -140v87q0 39 -26.5 60.5t-63.5 21.5t-64 -22.5t-27 -62.5v-822 q0 -41 26 -63.5t63 -22.5zM612 1067q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52z" />
|
||||
<glyph unicode="ʼn" d="M165 1163h56q38 0 53 43l164 475q3 12 3 18q0 35 -37 38h-106q-64 -2 -73 -56l-84 -475q-1 -3 -1 -12q0 -30 25 -31zM241 0q37 0 64.5 23t27.5 63v499q7 141 86 223t194 82q108 0 167.5 -67t59.5 -195v-542q0 -41 26.5 -63.5t63.5 -22.5t63.5 22.5t26.5 63.5v540 q0 195 -98 291t-263 96q-115 0 -201.5 -49t-124.5 -140v87q0 39 -26.5 60.5t-63.5 21.5t-64 -22.5t-27 -62.5v-822q0 -41 26 -63.5t63 -22.5z" />
|
||||
<glyph unicode="Ŋ" horiz-adv-x="1512" d="M636 -411q187 -42 308 -42q200 0 298.5 115t98.5 387v1291q0 42 -28 65.5t-65 23.5q-39 0 -66 -23.5t-27 -65.5v-1050l-728 1060q-27 39 -64.5 59t-72.5 20q-49 0 -81.5 -34.5t-32.5 -94.5v-1211q0 -42 27.5 -65.5t65.5 -23.5t66 23.5t28 65.5v1037l792 -1133 q0 -161 -49.5 -231t-173.5 -70q-100 0 -268 44q-18 4 -27 4q-35 0 -57 -22.5t-22 -51.5q0 -26 19.5 -47t58.5 -30z" />
|
||||
<glyph unicode="ŋ" horiz-adv-x="1168" d="M399 -290q153 -48 268 -48q169 0 261 102.5t92 315.5v546q0 195 -98 291t-263 96q-115 0 -201.5 -49t-124.5 -140v87q0 39 -26.5 60.5t-63.5 21.5t-64 -22.5t-27 -62.5v-822q0 -41 26 -63.5t63 -22.5t64.5 23t27.5 63v499q7 141 86 223t194 82q108 0 167.5 -67t59.5 -195 v-548q0 -147 -45 -213t-146 -66q-82 0 -219 43q-16 4 -23 4q-28 0 -45.5 -20t-17.5 -48q0 -53 55 -70z" />
|
||||
<glyph unicode="Ō" horiz-adv-x="1602" d="M549 1671h504q33 0 50 18t17 47q0 27 -17 45.5t-50 18.5h-504q-33 0 -51 -18.5t-18 -45.5q0 -29 17.5 -47t51.5 -18zM800 -22q315 0 495.5 199t180.5 537t-180.5 537t-495.5 199t-496 -199t-181 -537t181 -537t496 -199zM800 140q-219 0 -341 153.5t-122 420.5 t121.5 420.5t341.5 153.5q219 0 340.5 -153.5t121.5 -420.5t-121.5 -420.5t-340.5 -153.5z" />
|
||||
<glyph unicode="ō" horiz-adv-x="1161" d="M585 -18q231 0 366 145t135 370q0 227 -135.5 371.5t-365.5 144.5t-365.5 -145t-135.5 -371q0 -225 135.5 -370t365.5 -145zM583 106q-150 0 -234.5 105.5t-84.5 285.5q0 182 85 287.5t236 105.5q150 0 235.5 -106t85.5 -287q0 -182 -84.5 -286.5t-238.5 -104.5z M328 1230h504q33 0 50 18t17 47q0 27 -17 45.5t-50 18.5h-504q-33 0 -51 -18.5t-18 -45.5q0 -29 17.5 -47t51.5 -18z" />
|
||||
<glyph unicode="Ŏ" horiz-adv-x="1602" d="M801 1640q97 0 168 41t105 116q6 15 6 29q0 23 -16 36.5t-39 13.5q-33 0 -54 -30q-33 -46 -69 -64t-101 -18t-101.5 18t-68.5 64q-21 30 -54 30q-23 0 -39 -13.5t-16 -36.5q0 -14 6 -29q34 -75 105 -116t168 -41zM800 -22q315 0 495.5 199t180.5 537t-180.5 537 t-495.5 199t-496 -199t-181 -537t181 -537t496 -199zM800 140q-219 0 -341 153.5t-122 420.5t121.5 420.5t341.5 153.5q219 0 340.5 -153.5t121.5 -420.5t-121.5 -420.5t-340.5 -153.5z" />
|
||||
<glyph unicode="ŏ" horiz-adv-x="1161" d="M585 -18q231 0 366 145t135 370q0 227 -135.5 371.5t-365.5 144.5t-365.5 -145t-135.5 -371q0 -225 135.5 -370t365.5 -145zM583 106q-150 0 -234.5 105.5t-84.5 285.5q0 182 85 287.5t236 105.5q150 0 235.5 -106t85.5 -287q0 -182 -84.5 -286.5t-238.5 -104.5z M580 1200q97 0 168 41t105 116q6 15 6 29q0 23 -16 36.5t-39 13.5q-33 0 -54 -30q-33 -46 -69 -64t-101 -18t-101.5 18t-68.5 64q-21 30 -54 30q-23 0 -39 -13.5t-16 -36.5q0 -14 6 -29q34 -75 105 -116t168 -41z" />
|
||||
<glyph unicode="Ő" horiz-adv-x="1602" d="M966 1506q21 0 41 17l321 249q24 18 24 48q0 35 -30.5 64t-66.5 29q-33 0 -56 -29l-264 -304q-12 -13 -12 -33q0 -17 12 -29t31 -12zM635 1506q23 0 43 17l320 249q24 18 24 47q0 35 -30.5 64.5t-66.5 29.5q-32 0 -55 -29l-265 -304q-12 -15 -12 -33q0 -17 12 -29t30 -12 zM800 -22q315 0 495.5 199t180.5 537t-180.5 537t-495.5 199t-496 -199t-181 -537t181 -537t496 -199zM800 140q-219 0 -341 153.5t-122 420.5t121.5 420.5t341.5 153.5q219 0 340.5 -153.5t121.5 -420.5t-121.5 -420.5t-340.5 -153.5z" />
|
||||
<glyph unicode="ő" horiz-adv-x="1161" d="M585 -18q231 0 366 145t135 370q0 227 -135.5 371.5t-365.5 144.5t-365.5 -145t-135.5 -371q0 -225 135.5 -370t365.5 -145zM583 106q-150 0 -234.5 105.5t-84.5 285.5q0 182 85 287.5t236 105.5q150 0 235.5 -106t85.5 -287q0 -182 -84.5 -286.5t-238.5 -104.5z M745 1066q21 0 41 17l321 249q24 18 24 48q0 35 -30.5 64t-66.5 29q-33 0 -56 -29l-264 -304q-12 -13 -12 -33q0 -17 12 -29t31 -12zM414 1066q23 0 43 17l320 249q24 18 24 47q0 35 -30.5 64.5t-66.5 29.5q-32 0 -55 -29l-265 -304q-12 -15 -12 -33q0 -17 12 -29t30 -12z " />
|
||||
<glyph unicode="Œ" horiz-adv-x="1998" d="M731 126q-104 0 -185 48t-130 131t-74 187t-25 223t25.5 223t74.5 186t130 129.5t184 47.5q202 0 334 -22v-1125q-3 -2 -41 -8t-120 -12.5t-173 -7.5zM722 -28q56 0 143.5 7t153 13.5t67.5 6.5h710q38 0 59 23.5t21 55.5t-21 56t-59 24h-534v497h475q39 0 61 23.5 t22 55.5t-22 56t-61 24h-475v456h509q38 0 60 24t22 56t-22 55.5t-60 23.5h-671q-3 0 -68 6.5t-153 13t-146 6.5q-288 0 -453.5 -200.5t-165.5 -540.5q0 -224 73.5 -391.5t211.5 -259t323 -91.5z" />
|
||||
<glyph unicode="œ" horiz-adv-x="1840" d="M1031 582q9 133 77 221.5t184 88.5q124 0 192 -84t77 -226h-530zM565 106q-61 0 -110.5 23t-83 61t-56.5 89t-33 105.5t-10 111.5q0 74 17 141.5t50.5 124.5t92 91.5t133.5 34.5t132 -35t89.5 -93t48.5 -126t16 -142q-1 -72 -18 -138.5t-50 -123t-89.5 -90.5t-128.5 -34z M1287 -30q150 0 271 60t121 134q0 24 -14.5 40t-37.5 16q-19 0 -39 -13q-132 -95 -258 -95q-79 0 -137.5 26.5t-93 75t-51.5 110t-18 137.5h641q32 0 48.5 19.5t16.5 46.5q-3 108 -30 196.5t-79.5 157t-137 106t-194.5 37.5q-120 0 -211 -59t-146 -160q-58 101 -152 159 t-221 58q-95 0 -175.5 -28.5t-136.5 -78.5t-95 -117t-57.5 -143.5t-18.5 -158.5q0 -102 30 -194.5t88 -166.5t152.5 -118t212.5 -44q126 0 219 59.5t151 162.5q52 -105 141.5 -165t210.5 -60z" />
|
||||
<glyph unicode="Ŕ" horiz-adv-x="1362" d="M670 1600q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12zM379 809v460h318q43 0 74 -2t72 -8.5t69.5 -21t54.5 -37.5t39.5 -61t13.5 -88q0 -61 -20 -105.5t-51.5 -70.5t-79.5 -41t-94 -20 t-105 -5h-291zM277 1q41 0 71.5 25t30.5 71v557h334q80 0 127 -11.5t78.5 -45.5t45.5 -85t24 -142l31 -279q4 -43 36.5 -66.5t72.5 -23.5q39 0 67 25t28 65q0 9 -1 14l-36 314q-31 270 -266 321v4q150 28 226 115t76 211q0 86 -29.5 151.5t-76.5 104t-116 62.5t-137.5 32.5 t-150.5 8.5h-434q-42 0 -71.5 -28.5t-29.5 -69.5v-1234q0 -46 29.5 -71t70.5 -25z" />
|
||||
<glyph unicode="ŕ" horiz-adv-x="730" d="M243 0q37 0 64.5 22t27.5 62v515q0 117 74.5 187t209.5 70q32 0 49 21.5t17 51.5q0 32 -18.5 56t-50.5 24q-106 0 -181.5 -62.5t-100.5 -155.5l1 120q0 38 -26.5 59.5t-63.5 21.5t-64 -21.5t-27 -61.5v-825q0 -40 26 -62t63 -22zM357 1163q18 0 43 18l318 248 q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12z" />
|
||||
<glyph unicode="Ŗ" horiz-adv-x="1362" d="M549 -606h43q38 0 53 43l138 403q3 12 3 18q0 35 -37 38h-84q-64 -2 -73 -56l-67 -403q-1 -3 -1 -12q0 -30 25 -31zM379 809v460h318q43 0 74 -2t72 -8.5t69.5 -21t54.5 -37.5t39.5 -61t13.5 -88q0 -61 -20 -105.5t-51.5 -70.5t-79.5 -41t-94 -20t-105 -5h-291zM277 1 q41 0 71.5 25t30.5 71v557h334q80 0 127 -11.5t78.5 -45.5t45.5 -85t24 -142l31 -279q4 -43 36.5 -66.5t72.5 -23.5q39 0 67 25t28 65q0 9 -1 14l-36 314q-31 270 -266 321v4q150 28 226 115t76 211q0 86 -29.5 151.5t-76.5 104t-116 62.5t-137.5 32.5t-150.5 8.5h-434 q-42 0 -71.5 -28.5t-29.5 -69.5v-1234q0 -46 29.5 -71t70.5 -25z" />
|
||||
<glyph unicode="ŗ" horiz-adv-x="730" d="M83 -606h43q38 0 53 43l138 403q3 12 3 18q0 35 -37 38h-84q-64 -2 -73 -56l-67 -403q-1 -3 -1 -12q0 -30 25 -31zM243 0q37 0 64.5 22t27.5 62v515q0 117 74.5 187t209.5 70q32 0 49 21.5t17 51.5q0 32 -18.5 56t-50.5 24q-106 0 -181.5 -62.5t-100.5 -155.5l1 120 q0 38 -26.5 59.5t-63.5 21.5t-64 -21.5t-27 -61.5v-825q0 -40 26 -62t63 -22z" />
|
||||
<glyph unicode="Ř" horiz-adv-x="1362" d="M684 1514q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52zM379 809v460h318q43 0 74 -2t72 -8.5t69.5 -21t54.5 -37.5t39.5 -61t13.5 -88 q0 -61 -20 -105.5t-51.5 -70.5t-79.5 -41t-94 -20t-105 -5h-291zM277 1q41 0 71.5 25t30.5 71v557h334q80 0 127 -11.5t78.5 -45.5t45.5 -85t24 -142l31 -279q4 -43 36.5 -66.5t72.5 -23.5q39 0 67 25t28 65q0 9 -1 14l-36 314q-31 270 -266 321v4q150 28 226 115t76 211 q0 86 -29.5 151.5t-76.5 104t-116 62.5t-137.5 32.5t-150.5 8.5h-434q-42 0 -71.5 -28.5t-29.5 -69.5v-1234q0 -46 29.5 -71t70.5 -25z" />
|
||||
<glyph unicode="ř" horiz-adv-x="730" d="M243 0q37 0 64.5 22t27.5 62v515q0 117 74.5 187t209.5 70q32 0 49 21.5t17 51.5q0 32 -18.5 56t-50.5 24q-106 0 -181.5 -62.5t-100.5 -155.5l1 120q0 38 -26.5 59.5t-63.5 21.5t-64 -21.5t-27 -61.5v-825q0 -40 26 -62t63 -22zM371 1077q51 0 89 52l189 264 q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52z" />
|
||||
<glyph unicode="Ś" horiz-adv-x="1282" d="M629 1600q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12zM636 -22q248 0 392.5 109t144.5 305q0 81 -24.5 143t-74 106.5t-110 75.5t-147.5 59l-288 93q-102 34 -148.5 80.5t-46.5 124.5 q0 104 90 159t240 55q105 0 197.5 -33.5t153.5 -73.5q21 -14 44 -14q32 0 55 25t23 56q0 30 -23 50q-68 61 -196.5 106.5t-269.5 45.5q-144 0 -258.5 -45t-182 -133t-67.5 -204q0 -144 78 -226t237 -136l287 -96q64 -22 104 -41t71.5 -47t45 -65.5t13.5 -90.5 q0 -110 -92.5 -168t-238.5 -58q-224 0 -394 132q-11 8 -25 8q-31 0 -61.5 -34t-30.5 -66q0 -19 12 -30q185 -172 490 -172z" />
|
||||
<glyph unicode="ś" horiz-adv-x="1006" d="M145 90q60 -44 160.5 -76.5t207.5 -32.5q115 0 202 31.5t140.5 101.5t53.5 172q0 108 -64.5 177.5t-215.5 106.5l-173 43q-109 27 -142 51.5t-33 84.5q0 74 64 108.5t172 34.5q34 0 67 -4.5t65 -13t50.5 -14.5t48 -17.5t32.5 -12.5q16 -6 31 -6q26 0 41.5 16.5t15.5 39.5 q0 39 -39 59q-54 29 -139.5 52.5t-182.5 23.5q-81 0 -150 -15.5t-124.5 -47t-87.5 -85.5t-32 -125q0 -45 9 -80t29 -61t43 -44.5t61.5 -34.5t72 -26t87.5 -24l177 -44q88 -22 126 -58t38 -96q0 -84 -67.5 -127.5t-177.5 -43.5q-153 1 -290 86q-22 14 -46 14q-26 0 -43 -17.5 t-17 -41.5q0 -33 30 -54zM469 1164q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12z" />
|
||||
<glyph unicode="Ŝ" horiz-adv-x="1282" d="M403 1553q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16zM636 -22q248 0 392.5 109t144.5 305q0 81 -24.5 143t-74 106.5t-110 75.5t-147.5 59 l-288 93q-102 34 -148.5 80.5t-46.5 124.5q0 104 90 159t240 55q105 0 197.5 -33.5t153.5 -73.5q21 -14 44 -14q32 0 55 25t23 56q0 30 -23 50q-68 61 -196.5 106.5t-269.5 45.5q-144 0 -258.5 -45t-182 -133t-67.5 -204q0 -144 78 -226t237 -136l287 -96q64 -22 104 -41 t71.5 -47t45 -65.5t13.5 -90.5q0 -110 -92.5 -168t-238.5 -58q-224 0 -394 132q-11 8 -25 8q-31 0 -61.5 -34t-30.5 -66q0 -19 12 -30q185 -172 490 -172z" />
|
||||
<glyph unicode="ŝ" horiz-adv-x="1006" d="M145 90q60 -44 160.5 -76.5t207.5 -32.5q115 0 202 31.5t140.5 101.5t53.5 172q0 108 -64.5 177.5t-215.5 106.5l-173 43q-109 27 -142 51.5t-33 84.5q0 74 64 108.5t172 34.5q34 0 67 -4.5t65 -13t50.5 -14.5t48 -17.5t32.5 -12.5q16 -6 31 -6q26 0 41.5 16.5t15.5 39.5 q0 39 -39 59q-54 29 -139.5 52.5t-182.5 23.5q-81 0 -150 -15.5t-124.5 -47t-87.5 -85.5t-32 -125q0 -45 9 -80t29 -61t43 -44.5t61.5 -34.5t72 -26t87.5 -24l177 -44q88 -22 126 -58t38 -96q0 -84 -67.5 -127.5t-177.5 -43.5q-153 1 -290 86q-22 14 -46 14q-26 0 -43 -17.5 t-17 -41.5q0 -33 30 -54zM243 1117q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16z" />
|
||||
<glyph unicode="Ş" horiz-adv-x="1282" d="M656 -392q80 0 139 39.5t59 111.5q0 144 -183 146q-8 0 -32 -2l36 113h-66l-47 -132q-3 -10 -3 -19q0 -31 38 -31q2 0 8 0.5t8 0.5q45 0 76.5 -17.5t31.5 -54.5q0 -41 -21.5 -61.5t-73.5 -20.5q-62 0 -161 35q-8 2 -12 2q-13 0 -21 -10.5t-8 -24.5q0 -32 72 -53.5 t160 -21.5zM636 -22q248 0 392.5 109t144.5 305q0 81 -24.5 143t-74 106.5t-110 75.5t-147.5 59l-288 93q-102 34 -148.5 80.5t-46.5 124.5q0 104 90 159t240 55q105 0 197.5 -33.5t153.5 -73.5q21 -14 44 -14q32 0 55 25t23 56q0 30 -23 50q-68 61 -196.5 106.5 t-269.5 45.5q-144 0 -258.5 -45t-182 -133t-67.5 -204q0 -144 78 -226t237 -136l287 -96q64 -22 104 -41t71.5 -47t45 -65.5t13.5 -90.5q0 -110 -92.5 -168t-238.5 -58q-224 0 -394 132q-11 8 -25 8q-31 0 -61.5 -34t-30.5 -66q0 -19 12 -30q185 -172 490 -172z" />
|
||||
<glyph unicode="ş" horiz-adv-x="1006" d="M145 90q60 -44 160.5 -76.5t207.5 -32.5q115 0 202 31.5t140.5 101.5t53.5 172q0 108 -64.5 177.5t-215.5 106.5l-173 43q-109 27 -142 51.5t-33 84.5q0 74 64 108.5t172 34.5q34 0 67 -4.5t65 -13t50.5 -14.5t48 -17.5t32.5 -12.5q16 -6 31 -6q26 0 41.5 16.5t15.5 39.5 q0 39 -39 59q-54 29 -139.5 52.5t-182.5 23.5q-81 0 -150 -15.5t-124.5 -47t-87.5 -85.5t-32 -125q0 -45 9 -80t29 -61t43 -44.5t61.5 -34.5t72 -26t87.5 -24l177 -44q88 -22 126 -58t38 -96q0 -84 -67.5 -127.5t-177.5 -43.5q-153 1 -290 86q-22 14 -46 14q-26 0 -43 -17.5 t-17 -41.5q0 -33 30 -54zM524 -400q80 0 139 39.5t59 111.5q0 144 -183 146q-8 0 -32 -2l36 113h-66l-47 -132q-3 -10 -3 -19q0 -31 38 -31q2 0 8 0.5t8 0.5q45 0 76.5 -17.5t31.5 -54.5q0 -41 -21.5 -61.5t-73.5 -20.5q-62 0 -161 35q-8 2 -12 2q-13 0 -21 -10.5t-8 -24.5 q0 -32 72 -53.5t160 -21.5z" />
|
||||
<glyph unicode="Š" horiz-adv-x="1282" d="M642 1514q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52zM636 -22q248 0 392.5 109t144.5 305q0 81 -24.5 143t-74 106.5t-110 75.5 t-147.5 59l-288 93q-102 34 -148.5 80.5t-46.5 124.5q0 104 90 159t240 55q105 0 197.5 -33.5t153.5 -73.5q21 -14 44 -14q32 0 55 25t23 56q0 30 -23 50q-68 61 -196.5 106.5t-269.5 45.5q-144 0 -258.5 -45t-182 -133t-67.5 -204q0 -144 78 -226t237 -136l287 -96 q64 -22 104 -41t71.5 -47t45 -65.5t13.5 -90.5q0 -110 -92.5 -168t-238.5 -58q-224 0 -394 132q-11 8 -25 8q-31 0 -61.5 -34t-30.5 -66q0 -19 12 -30q185 -172 490 -172z" />
|
||||
<glyph unicode="š" horiz-adv-x="893" d="M145 90q60 -44 160.5 -76.5t207.5 -32.5q115 0 202 31.5t140.5 101.5t53.5 172q0 108 -64.5 177.5t-215.5 106.5l-173 43q-109 27 -142 51.5t-33 84.5q0 74 64 108.5t172 34.5q34 0 67 -4.5t65 -13t50.5 -14.5t48 -17.5t32.5 -12.5q16 -6 31 -6q26 0 41.5 16.5t15.5 39.5 q0 39 -39 59q-54 29 -139.5 52.5t-182.5 23.5q-81 0 -150 -15.5t-124.5 -47t-87.5 -85.5t-32 -125q0 -45 9 -80t29 -61t43 -44.5t61.5 -34.5t72 -26t87.5 -24l177 -44q88 -22 126 -58t38 -96q0 -84 -67.5 -127.5t-177.5 -43.5q-153 1 -290 86q-22 14 -46 14q-26 0 -43 -17.5 t-17 -41.5q0 -33 30 -54zM490 1077q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52z" />
|
||||
<glyph unicode="Ţ" horiz-adv-x="1167" d="M600 -392q80 0 139 39.5t59 111.5q0 144 -183 146q-8 0 -32 -2l36 113h-66l-47 -132q-3 -10 -3 -19q0 -31 38 -31q2 0 8 0.5t8 0.5q45 0 76.5 -17.5t31.5 -54.5q0 -41 -21.5 -61.5t-73.5 -20.5q-62 0 -161 35q-8 2 -12 2q-13 0 -21 -10.5t-8 -24.5q0 -32 72 -53.5 t160 -21.5zM587 0q41 0 71 26t30 71v1171h372q39 0 61 24t22 57t-21.5 56.5t-61.5 23.5h-951q-39 0 -61 -24t-22 -56q0 -33 22 -57t61 -24h377v-1171q0 -45 30 -71t71 -26z" />
|
||||
<glyph unicode="ţ" horiz-adv-x="742" d="M475 -14h59q36 0 58.5 2t45 9t33.5 22.5t11 40.5q0 28 -19 49t-52 21h-6l-68 -3h-11q-63 0 -92 45.5t-29 148.5v545h184q66 0 66 57q0 27 -16.5 44t-49.5 17h-184v290q0 35 -20 53.5t-50 18.5q-32 0 -58.5 -23t-28.5 -55l-24 -284h-123q-33 0 -50 -16.5t-17 -42.5 q0 -27 17.5 -43t50.5 -16h122v-576q0 -155 68 -229.5t183 -74.5zM460 -392q80 0 139 39.5t59 111.5q0 144 -183 146q-8 0 -32 -2l36 113h-66l-47 -132q-3 -10 -3 -19q0 -31 38 -31q2 0 8 0.5t8 0.5q45 0 76.5 -17.5t31.5 -54.5q0 -41 -21.5 -61.5t-73.5 -20.5q-62 0 -161 35 q-8 2 -12 2q-13 0 -21 -10.5t-8 -24.5q0 -32 72 -53.5t160 -21.5z" />
|
||||
<glyph unicode="Ť" horiz-adv-x="1167" d="M593 1516q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52zM587 0q41 0 71 26t30 71v1171h372q39 0 61 24t22 57t-21.5 56.5t-61.5 23.5 h-951q-39 0 -61 -24t-22 -56q0 -33 22 -57t61 -24h377v-1171q0 -45 30 -71t71 -26z" />
|
||||
<glyph unicode="ť" horiz-adv-x="742" d="M475 -14h59q36 0 58.5 2t45 9t33.5 22.5t11 40.5q0 28 -19 49t-52 21h-6l-68 -3h-11q-63 0 -92 45.5t-29 148.5v545h184q66 0 66 57q0 27 -16.5 44t-49.5 17h-184v290q0 35 -20 53.5t-50 18.5q-32 0 -58.5 -23t-28.5 -55l-24 -284h-123q-33 0 -50 -16.5t-17 -42.5 q0 -27 17.5 -43t50.5 -16h122v-576q0 -155 68 -229.5t183 -74.5zM628 1027h43q38 0 53 43l138 403q3 12 3 18q0 35 -37 38h-85q-64 -2 -73 -56l-66 -403q-1 -3 -1 -12q0 -30 25 -31z" />
|
||||
<glyph unicode="Ŧ" horiz-adv-x="1167" d="M337 695h504q33 0 50 18t17 47q0 27 -17 45.5t-50 18.5h-504q-33 0 -51 -18.5t-18 -45.5q0 -29 17.5 -47t51.5 -18zM587 0q41 0 71 26t30 71v1171h372q39 0 61 24t22 57t-21.5 56.5t-61.5 23.5h-951q-39 0 -61 -24t-22 -56q0 -33 22 -57t61 -24h377v-1171q0 -45 30 -71 t71 -26z" />
|
||||
<glyph unicode="ŧ" horiz-adv-x="742" d="M475 -14h59q36 0 58.5 2t45 9t33.5 22.5t11 40.5q0 28 -19 49t-52 21h-6l-68 -3h-11q-63 0 -92 45.5t-29 148.5v545h184q66 0 66 57q0 27 -16.5 44t-49.5 17h-184v290q0 35 -20 53.5t-50 18.5q-32 0 -58.5 -23t-28.5 -55l-24 -284h-123q-33 0 -50 -16.5t-17 -42.5 q0 -27 17.5 -43t50.5 -16h122v-576q0 -155 68 -229.5t183 -74.5zM99 519h504q33 0 50 18t17 47q0 27 -17 45.5t-50 18.5h-504q-33 0 -51 -18.5t-18 -45.5q0 -29 17.5 -47t51.5 -18z" />
|
||||
<glyph unicode="Ũ" horiz-adv-x="1495" d="M1002 1784q-24 0 -61 -38t-62 -38q-29 0 -114.5 36t-137.5 36q-133 0 -177 -141q-4 -8 -4 -17q0 -19 12.5 -29.5t31.5 -10.5q34 0 57 32q34 43 76 43q33 0 116.5 -37t127.5 -37q66 0 120.5 43t54.5 106q0 15 -9 20q-2 32 -31 32zM748 -22q91 0 173.5 20t154.5 62 t124.5 102.5t83 146t30.5 188.5v837q0 46 -29.5 72t-70.5 26q-42 0 -72 -26t-30 -72v-832q0 -90 -31 -161t-83 -114t-116 -65t-134 -22t-133.5 22t-115 65t-82.5 114t-31 161v832q0 46 -30 72t-71 26q-42 0 -72 -26t-30 -72v-837q0 -127 46 -228t125 -163.5t179.5 -95 t214.5 -32.5z" />
|
||||
<glyph unicode="ũ" d="M502 -18q115 0 202 49t125 140v-89q0 -39 26 -60.5t63 -21.5t64 22.5t27 62.5v823q0 41 -26 63.5t-63 22.5t-64 -23t-27 -63v-497q-7 -142 -87 -223.5t-196 -81.5q-108 0 -166 66.5t-58 194.5v541q0 41 -26.5 63.5t-63.5 22.5t-64 -22.5t-27 -63.5v-539 q0 -194 98.5 -290.5t262.5 -96.5zM818 1346q-24 0 -61 -38t-62 -38q-29 0 -114.5 36t-137.5 36q-133 0 -177 -141q-4 -8 -4 -17q0 -19 12.5 -29.5t31.5 -10.5q34 0 57 32q34 43 76 43q33 0 116.5 -37t127.5 -37q66 0 120.5 43t54.5 106q0 15 -9 20q-2 32 -31 32z" />
|
||||
<glyph unicode="Ū" horiz-adv-x="1495" d="M506 1669h504q33 0 50 18t17 47q0 27 -17 45.5t-50 18.5h-504q-33 0 -51 -18.5t-18 -45.5q0 -29 17.5 -47t51.5 -18zM748 -22q91 0 173.5 20t154.5 62t124.5 102.5t83 146t30.5 188.5v837q0 46 -29.5 72t-70.5 26q-42 0 -72 -26t-30 -72v-832q0 -90 -31 -161t-83 -114 t-116 -65t-134 -22t-133.5 22t-115 65t-82.5 114t-31 161v832q0 46 -30 72t-71 26q-42 0 -72 -26t-30 -72v-837q0 -127 46 -228t125 -163.5t179.5 -95t214.5 -32.5z" />
|
||||
<glyph unicode="ū" d="M502 -18q115 0 202 49t125 140v-89q0 -39 26 -60.5t63 -21.5t64 22.5t27 62.5v823q0 41 -26 63.5t-63 22.5t-64 -23t-27 -63v-497q-7 -142 -87 -223.5t-196 -81.5q-108 0 -166 66.5t-58 194.5v541q0 41 -26.5 63.5t-63.5 22.5t-64 -22.5t-27 -63.5v-539 q0 -194 98.5 -290.5t262.5 -96.5zM322 1230h504q33 0 50 18t17 47q0 27 -17 45.5t-50 18.5h-504q-33 0 -51 -18.5t-18 -45.5q0 -29 17.5 -47t51.5 -18z" />
|
||||
<glyph unicode="Ŭ" horiz-adv-x="1495" d="M758 1638q97 0 168 41t105 116q6 15 6 29q0 23 -16 36.5t-39 13.5q-33 0 -54 -30q-33 -46 -69 -64t-101 -18t-101.5 18t-68.5 64q-21 30 -54 30q-23 0 -39 -13.5t-16 -36.5q0 -14 6 -29q34 -75 105 -116t168 -41zM748 -22q91 0 173.5 20t154.5 62t124.5 102.5t83 146 t30.5 188.5v837q0 46 -29.5 72t-70.5 26q-42 0 -72 -26t-30 -72v-832q0 -90 -31 -161t-83 -114t-116 -65t-134 -22t-133.5 22t-115 65t-82.5 114t-31 161v832q0 46 -30 72t-71 26q-42 0 -72 -26t-30 -72v-837q0 -127 46 -228t125 -163.5t179.5 -95t214.5 -32.5z" />
|
||||
<glyph unicode="ŭ" d="M502 -18q115 0 202 49t125 140v-89q0 -39 26 -60.5t63 -21.5t64 22.5t27 62.5v823q0 41 -26 63.5t-63 22.5t-64 -23t-27 -63v-497q-7 -142 -87 -223.5t-196 -81.5q-108 0 -166 66.5t-58 194.5v541q0 41 -26.5 63.5t-63.5 22.5t-64 -22.5t-27 -63.5v-539 q0 -194 98.5 -290.5t262.5 -96.5zM573 1200q97 0 168 41t105 116q6 15 6 29q0 23 -16 36.5t-39 13.5q-33 0 -54 -30q-33 -46 -69 -64t-101 -18t-101.5 18t-68.5 64q-21 30 -54 30q-23 0 -39 -13.5t-16 -36.5q0 -14 6 -29q34 -75 105 -116t168 -41z" />
|
||||
<glyph unicode="Ů" horiz-adv-x="1495" d="M758 1582q88 0 141 52t53 137t-53 136t-141 51t-141.5 -51t-53.5 -136q0 -86 53.5 -137.5t141.5 -51.5zM758 1666q-50 0 -79.5 28.5t-29.5 76.5q0 47 30 76t79 29t79 -29t30 -76q0 -48 -29.5 -76.5t-79.5 -28.5zM748 -22q91 0 173.5 20t154.5 62t124.5 102.5t83 146 t30.5 188.5v837q0 46 -29.5 72t-70.5 26q-42 0 -72 -26t-30 -72v-832q0 -90 -31 -161t-83 -114t-116 -65t-134 -22t-133.5 22t-115 65t-82.5 114t-31 161v832q0 46 -30 72t-71 26q-42 0 -72 -26t-30 -72v-837q0 -127 46 -228t125 -163.5t179.5 -95t214.5 -32.5z" />
|
||||
<glyph unicode="ů" d="M502 -18q115 0 202 49t125 140v-89q0 -39 26 -60.5t63 -21.5t64 22.5t27 62.5v823q0 41 -26 63.5t-63 22.5t-64 -23t-27 -63v-497q-7 -142 -87 -223.5t-196 -81.5q-108 0 -166 66.5t-58 194.5v541q0 41 -26.5 63.5t-63.5 22.5t-64 -22.5t-27 -63.5v-539 q0 -194 98.5 -290.5t262.5 -96.5zM574 1144q88 0 141 52t53 137t-53 136t-141 51t-141.5 -51t-53.5 -136q0 -86 53.5 -137.5t141.5 -51.5zM574 1228q-50 0 -79.5 28.5t-29.5 76.5q0 47 30 76t79 29t79 -29t30 -76q0 -48 -29.5 -76.5t-79.5 -28.5z" />
|
||||
<glyph unicode="Ű" horiz-adv-x="1495" d="M923 1504q21 0 41 17l321 249q24 18 24 48q0 35 -30.5 64t-66.5 29q-33 0 -56 -29l-264 -304q-12 -13 -12 -33q0 -17 12 -29t31 -12zM592 1504q23 0 43 17l320 249q24 18 24 47q0 35 -30.5 64.5t-66.5 29.5q-32 0 -55 -29l-265 -304q-12 -15 -12 -33q0 -17 12 -29t30 -12 zM748 -22q91 0 173.5 20t154.5 62t124.5 102.5t83 146t30.5 188.5v837q0 46 -29.5 72t-70.5 26q-42 0 -72 -26t-30 -72v-832q0 -90 -31 -161t-83 -114t-116 -65t-134 -22t-133.5 22t-115 65t-82.5 114t-31 161v832q0 46 -30 72t-71 26q-42 0 -72 -26t-30 -72v-837 q0 -127 46 -228t125 -163.5t179.5 -95t214.5 -32.5z" />
|
||||
<glyph unicode="ű" d="M502 -18q115 0 202 49t125 140v-89q0 -39 26 -60.5t63 -21.5t64 22.5t27 62.5v823q0 41 -26 63.5t-63 22.5t-64 -23t-27 -63v-497q-7 -142 -87 -223.5t-196 -81.5q-108 0 -166 66.5t-58 194.5v541q0 41 -26.5 63.5t-63.5 22.5t-64 -22.5t-27 -63.5v-539 q0 -194 98.5 -290.5t262.5 -96.5zM739 1066q21 0 41 17l321 249q24 18 24 48q0 35 -30.5 64t-66.5 29q-33 0 -56 -29l-264 -304q-12 -13 -12 -33q0 -17 12 -29t31 -12zM408 1066q23 0 43 17l320 249q24 18 24 47q0 35 -30.5 64.5t-66.5 29.5q-32 0 -55 -29l-265 -304 q-12 -15 -12 -33q0 -17 12 -29t30 -12z" />
|
||||
<glyph unicode="Ų" horiz-adv-x="1495" d="M1064 -410v85q-206 0 -206 143q0 77 62 191h-83q-134 -157 -134 -280q0 -78 54.5 -123t147.5 -45q75 0 159 29zM748 -22q91 0 173.5 20t154.5 62t124.5 102.5t83 146t30.5 188.5v837q0 46 -29.5 72t-70.5 26q-42 0 -72 -26t-30 -72v-832q0 -90 -31 -161t-83 -114 t-116 -65t-134 -22t-133.5 22t-115 65t-82.5 114t-31 161v832q0 46 -30 72t-71 26q-42 0 -72 -26t-30 -72v-837q0 -127 46 -228t125 -163.5t179.5 -95t214.5 -32.5z" />
|
||||
<glyph unicode="ų" d="M502 -18q115 0 202 49t125 140v-89q0 -39 26 -60.5t63 -21.5t64 22.5t27 62.5v823q0 41 -26 63.5t-63 22.5t-64 -23t-27 -63v-497q-7 -142 -87 -223.5t-196 -81.5q-108 0 -166 66.5t-58 194.5v541q0 41 -26.5 63.5t-63.5 22.5t-64 -22.5t-27 -63.5v-539 q0 -194 98.5 -290.5t262.5 -96.5zM1111 -400v85q-206 0 -206 143q0 77 62 191h-83q-134 -157 -134 -280q0 -78 54.5 -123t147.5 -45q75 0 159 29z" />
|
||||
<glyph unicode="Ŵ" horiz-adv-x="2135" d="M815 1553q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16zM1711 110l327 1201q4 15 4 30q0 41 -30 66t-69 25q-32 0 -58 -18t-35 -51l-299 -1167 l-359 1110q-25 75 -57 99.5t-84 24.5q-50 0 -83.5 -26.5t-56.5 -97.5l-359 -1110l-299 1167q-9 33 -35 51t-58 18q-39 0 -69 -25t-30 -66q0 -15 4 -30l327 -1201q15 -55 56 -84.5t91 -29.5t93 29.5t61 82.5l358 1092l359 -1092q18 -54 60 -83t92 -29q51 0 93 30t56 84z" />
|
||||
<glyph unicode="ŵ" horiz-adv-x="1706" d="M1241 0q84 0 118 100l273 782q6 16 6 32q0 35 -25.5 56.5t-58.5 21.5q-60 0 -79 -59l-248 -741l-248 702q-35 100 -121 100q-85 0 -120 -100l-248 -702l-248 741q-19 59 -79 59q-33 0 -58.5 -21.5t-25.5 -56.5q0 -16 6 -32l273 -782q34 -100 118 -100q88 0 128 110 l254 712l255 -712q39 -110 128 -110zM615 1118q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16z" />
|
||||
<glyph unicode="Ŷ" horiz-adv-x="1285" d="M421 1553q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16zM541 98q0 -46 30 -71.5t72 -25.5q41 0 71 25.5t30 70.5v506l454 700q15 23 15 48 q0 32 -25.5 55t-59.5 23q-48 0 -78 -47l-396 -627l-394 624q-30 48 -82 48q-40 0 -71.5 -27t-31.5 -64q0 -25 14 -46l452 -694v-498z" />
|
||||
<glyph unicode="ŷ" horiz-adv-x="1040" d="M438 -341l578 1219q7 17 7 34q0 34 -26.5 58.5t-61.5 24.5q-52 0 -79 -55l-306 -648l-304 645q-25 53 -78 53q-35 0 -62.5 -24t-27.5 -60q0 -22 9 -40l372 -767l-179 -379q-9 -20 -9 -38q0 -34 26 -56.5t60 -22.5q54 0 81 56zM319 1120q39 0 69 38l171 229l170 -229 q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16z" />
|
||||
<glyph unicode="Ÿ" horiz-adv-x="1285" d="M861 1601q49 0 79 30t30 72q0 41 -30 70.5t-79 29.5q-50 0 -80.5 -30t-30.5 -70q0 -42 30.5 -72t80.5 -30zM471 1601q50 0 80 30t30 72q0 40 -30 70t-80 30q-49 0 -79 -30t-30 -70q0 -42 30 -72t79 -30zM541 98q0 -46 30 -71.5t72 -25.5q41 0 71 25.5t30 70.5v506 l454 700q15 23 15 48q0 32 -25.5 55t-59.5 23q-48 0 -78 -47l-396 -627l-394 624q-30 48 -82 48q-40 0 -71.5 -27t-31.5 -64q0 -25 14 -46l452 -694v-498z" />
|
||||
<glyph unicode="Ź" horiz-adv-x="1175" d="M616 1600q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12zM208 0h825q39 0 60 24t21 57t-21 56.5t-60 23.5h-705l770 1106q25 37 25 73q0 39 -27 64t-71 25h-841q-38 0 -59 -23.5t-21 -55.5 q0 -33 21 -57.5t59 -24.5h702l-770 -1105q-22 -33 -22 -68q0 -40 29 -67.5t85 -27.5z" />
|
||||
<glyph unicode="ź" horiz-adv-x="942" d="M173 0h604q35 0 54 21t19 50q0 28 -19 49t-54 21h-482l535 705q26 35 26 69q0 35 -25.5 57t-72.5 22h-591q-34 0 -53 -21t-19 -50q0 -28 19 -48.5t53 -20.5h472l-534 -706q-24 -31 -24 -66t25 -58.5t67 -23.5zM454 1163q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64 t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12z" />
|
||||
<glyph unicode="Ż" horiz-adv-x="1175" d="M632 1615q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31zM208 0h825q39 0 60 24t21 57t-21 56.5t-60 23.5h-705l770 1106q25 37 25 73q0 39 -27 64t-71 25h-841q-38 0 -59 -23.5t-21 -55.5q0 -33 21 -57.5t59 -24.5h702l-770 -1105 q-22 -33 -22 -68q0 -40 29 -67.5t85 -27.5z" />
|
||||
<glyph unicode="ż" horiz-adv-x="942" d="M173 0h604q35 0 54 21t19 50q0 28 -19 49t-54 21h-482l535 705q26 35 26 69q0 35 -25.5 57t-72.5 22h-591q-34 0 -53 -21t-19 -50q0 -28 19 -48.5t53 -20.5h472l-534 -706q-24 -31 -24 -66t25 -58.5t67 -23.5zM470 1178q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32 t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31z" />
|
||||
<glyph unicode="Ž" horiz-adv-x="1175" d="M630 1514q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52zM208 0h825q39 0 60 24t21 57t-21 56.5t-60 23.5h-705l770 1106q25 37 25 73 q0 39 -27 64t-71 25h-841q-38 0 -59 -23.5t-21 -55.5q0 -33 21 -57.5t59 -24.5h702l-770 -1105q-22 -33 -22 -68q0 -40 29 -67.5t85 -27.5z" />
|
||||
<glyph unicode="ž" horiz-adv-x="942" d="M173 0h604q35 0 54 21t19 50q0 28 -19 49t-54 21h-482l535 705q26 35 26 69q0 35 -25.5 57t-72.5 22h-591q-34 0 -53 -21t-19 -50q0 -28 19 -48.5t53 -20.5h472l-534 -706q-24 -31 -24 -66t25 -58.5t67 -23.5zM468 1077q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42 t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52z" />
|
||||
<glyph unicode="ƒ" horiz-adv-x="1186" d="M58 -537q51 0 95.5 13t94 48.5t91 93t81.5 152.5t70 220q35 145 94.5 428.5t78.5 370.5h200q36 0 56 23t20 54t-20 54t-56 23h-169q55 261 123 373t169 112q49 0 75.5 20t26.5 47q0 25 -22 42.5t-63 17.5q-166 0 -287 -147.5t-179 -464.5h-180q-36 0 -56.5 -22.5 t-20.5 -53.5q0 -32 20.5 -55t56.5 -23h149q-7 -30 -70.5 -338t-99.5 -459q-94 -389 -266 -394q-46 -1 -73 -24t-27 -51q0 -26 22 -43t66 -17z" />
|
||||
<glyph unicode="DŽ" horiz-adv-x="2680" d="M2135 1514q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52zM1713 0h825q39 0 60 24t21 57t-21 56.5t-60 23.5h-705l770 1106q25 37 25 73 q0 39 -27 64t-71 25h-841q-38 0 -59 -23.5t-21 -55.5q0 -33 21 -57.5t59 -24.5h702l-770 -1105q-22 -33 -22 -68q0 -40 29 -67.5t85 -27.5zM379 163v1108h225q297 0 435 -128t138 -426q0 -141 -28 -241.5t-90.5 -172t-166.5 -106t-254 -34.5h-259zM278 3h350 q363 0 561 182.5t198 528.5q0 351 -196 534.5t-572 183.5h-341q-42 0 -71.5 -28.5t-29.5 -69.5v-1233q0 -41 29.5 -69.5t71.5 -28.5z" />
|
||||
<glyph unicode="Dž" horiz-adv-x="2447" d="M1678 0h604q35 0 54 21t19 50q0 28 -19 49t-54 21h-482l535 705q26 35 26 69q0 35 -25.5 57t-72.5 22h-591q-34 0 -53 -21t-19 -50q0 -28 19 -48.5t53 -20.5h472l-534 -706q-24 -31 -24 -66t25 -58.5t67 -23.5zM1973 1077q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42 t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52zM379 163v1108h225q297 0 435 -128t138 -426q0 -141 -28 -241.5t-90.5 -172t-166.5 -106t-254 -34.5h-259zM278 3h350q363 0 561 182.5 t198 528.5q0 351 -196 534.5t-572 183.5h-341q-42 0 -71.5 -28.5t-29.5 -69.5v-1233q0 -41 29.5 -69.5t71.5 -28.5z" />
|
||||
<glyph unicode="dž" horiz-adv-x="2137" d="M1368 0h604q35 0 54 21t19 50q0 28 -19 49t-54 21h-482l535 705q26 35 26 69q0 35 -25.5 57t-72.5 22h-591q-34 0 -53 -21t-19 -50q0 -28 19 -48.5t53 -20.5h472l-534 -706q-24 -31 -24 -66t25 -58.5t67 -23.5zM546 106q-78 1 -135.5 37.5t-87.5 96.5t-44 124.5 t-14 134.5q0 72 15.5 138t47.5 124.5t90.5 93.5t136.5 35q79 0 138.5 -33t94 -89t51.5 -123t17 -143q0 -396 -310 -396zM514 -18q116 0 205.5 48.5t137.5 144.5v-89q0 -39 23 -61.5t68 -22.5q36 0 63 22.5t27 62.5v1258q0 39 -27 61.5t-63 22.5q-37 0 -64 -22.5t-27 -61.5 v-519q-45 91 -130.5 139t-196.5 48q-104 0 -189.5 -39.5t-141 -109t-85.5 -162t-30 -199.5q0 -105 27.5 -198t79.5 -165.5t135.5 -115t187.5 -42.5zM1663 1077q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38 q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52z" />
|
||||
<glyph unicode="LJ" horiz-adv-x="2135" d="M279 0h729q38 0 59.5 24t21.5 56q0 33 -21 57t-60 24h-629v1171q0 46 -29.5 71.5t-70.5 25.5q-42 0 -72 -25.5t-30 -71.5v-1232q0 -42 30 -71t72 -29zM1535 -25q91 0 169 26t141.5 79.5t100 146t36.5 215.5v892q0 45 -29.5 70t-71.5 25t-72 -25t-30 -70v-877 q0 -165 -61.5 -239t-185.5 -74q-106 0 -213 68q-31 23 -60 23q-33 0 -54 -27t-21 -63q0 -45 33 -68q136 -102 318 -102z" />
|
||||
<glyph unicode="Lj" horiz-adv-x="1619" d="M1364 1225q53 0 85 30.5t32 79.5q0 50 -32 80.5t-84 30.5q-53 0 -85.5 -30.5t-32.5 -80.5q0 -49 32 -79.5t85 -30.5zM1128 -378q77 0 131.5 7.5t91.5 28t58 44.5t32.5 68.5t14.5 88t3 114.5v931q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66v-967q0 -43 -1.5 -69.5 t-8.5 -48t-15.5 -32t-28 -17.5t-41 -8.5t-58.5 -1.5q-29 0 -45.5 -20.5t-16.5 -48.5t17 -48.5t48 -20.5zM279 0h729q38 0 59.5 24t21.5 56q0 33 -21 57t-60 24h-629v1171q0 46 -29.5 71.5t-70.5 25.5q-42 0 -72 -25.5t-30 -71.5v-1232q0 -42 30 -71t72 -29z" />
|
||||
<glyph unicode="lj" horiz-adv-x="1015" d="M254 0q37 0 64.5 24.5t27.5 66.5v1247q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66v-1247q0 -44 26 -67.5t63 -23.5zM760 1225q53 0 85 30.5t32 79.5q0 50 -32 80.5t-84 30.5q-53 0 -85.5 -30.5t-32.5 -80.5q0 -49 32 -79.5t85 -30.5zM524 -378q77 0 131.5 7.5 t91.5 28t58 44.5t32.5 68.5t14.5 88t3 114.5v931q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66v-967q0 -43 -1.5 -69.5t-8.5 -48t-15.5 -32t-28 -17.5t-41 -8.5t-58.5 -1.5q-29 0 -45.5 -20.5t-16.5 -48.5t17 -48.5t48 -20.5z" />
|
||||
<glyph unicode="NJ" horiz-adv-x="2541" d="M268 0q38 0 66 23.5t28 65.5v1037l731 -1060q22 -32 56 -49t68 -17q52 0 87.5 35t35.5 94v1211q0 42 -28 65.5t-65 23.5q-39 0 -66 -23.5t-27 -65.5v-1050l-728 1060q-27 39 -64.5 59t-72.5 20q-49 0 -81.5 -34.5t-32.5 -94.5v-1211q0 -42 27.5 -65.5t65.5 -23.5z M1942 -25q91 0 169 26t141.5 79.5t100 146t36.5 215.5v892q0 45 -29.5 70t-71.5 25t-72 -25t-30 -70v-877q0 -165 -61.5 -239t-185.5 -74q-106 0 -213 68q-31 23 -60 23q-33 0 -54 -27t-21 -63q0 -45 33 -68q136 -102 318 -102z" />
|
||||
<glyph unicode="Nj" horiz-adv-x="2025" d="M1771 1225q53 0 85 30.5t32 79.5q0 50 -32 80.5t-84 30.5q-53 0 -85.5 -30.5t-32.5 -80.5q0 -49 32 -79.5t85 -30.5zM1535 -378q77 0 131.5 7.5t91.5 28t58 44.5t32.5 68.5t14.5 88t3 114.5v931q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66v-967q0 -43 -1.5 -69.5 t-8.5 -48t-15.5 -32t-28 -17.5t-41 -8.5t-58.5 -1.5q-29 0 -45.5 -20.5t-16.5 -48.5t17 -48.5t48 -20.5zM268 0q38 0 66 23.5t28 65.5v1037l731 -1060q22 -32 56 -49t68 -17q52 0 87.5 35t35.5 94v1211q0 42 -28 65.5t-65 23.5q-39 0 -66 -23.5t-27 -65.5v-1050l-728 1060 q-27 39 -64.5 59t-72.5 20q-49 0 -81.5 -34.5t-32.5 -94.5v-1211q0 -42 27.5 -65.5t65.5 -23.5z" />
|
||||
<glyph unicode="nj" horiz-adv-x="1674" d="M241 0q37 0 64.5 23t27.5 63v499q7 141 86 223t194 82q108 0 167.5 -67t59.5 -195v-542q0 -41 26.5 -63.5t63.5 -22.5t63.5 22.5t26.5 63.5v540q0 195 -98 291t-263 96q-115 0 -201.5 -49t-124.5 -140v87q0 39 -26.5 60.5t-63.5 21.5t-64 -22.5t-27 -62.5v-822 q0 -41 26 -63.5t63 -22.5zM1419 1225q53 0 85 30.5t32 79.5q0 50 -32 80.5t-84 30.5q-53 0 -85.5 -30.5t-32.5 -80.5q0 -49 32 -79.5t85 -30.5zM1183 -378q77 0 131.5 7.5t91.5 28t58 44.5t32.5 68.5t14.5 88t3 114.5v931q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66 v-967q0 -43 -1.5 -69.5t-8.5 -48t-15.5 -32t-28 -17.5t-41 -8.5t-58.5 -1.5q-29 0 -45.5 -20.5t-16.5 -48.5t17 -48.5t48 -20.5z" />
|
||||
<glyph unicode="Ǎ" horiz-adv-x="1424" d="M704 1514q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52zM1176 60q25 -66 92 -66q39 0 70 25t31 63q0 16 -8 37l-475 1179 q-34 85 -73.5 112.5t-98.5 27.5t-98.5 -27.5t-73.5 -112.5l-475 -1179q-8 -21 -8 -37q0 -38 30.5 -63t69.5 -25q68 0 93 66l118 304h688zM1001 509h-574l287 739z" />
|
||||
<glyph unicode="ǎ" horiz-adv-x="1051" d="M507 1068q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52zM440 102q-93 0 -147 42.5t-54 133.5q0 50 14.5 82t44.5 54.5t90 34t138 16 t202 4.5v-30q0 -147 -86.5 -242t-201.5 -95zM421 -18q215 0 308 195v-96q0 -39 25.5 -60.5t61.5 -21.5t63.5 22.5t27.5 61.5v583q0 177 -103.5 262t-286.5 85q-214 0 -369 -87q-28 -16 -28 -46q0 -26 19 -47.5t45 -21.5q14 0 24 5q51 23 86 36t96 26t122 13q102 0 159 -51 t57 -158v-109q-111 0 -189.5 -3t-152.5 -10.5t-122 -22t-88 -37t-62 -55t-34 -75.5t-12 -100q0 -138 98 -213t255 -75z" />
|
||||
<glyph unicode="Ǐ" horiz-adv-x="606" d="M303 1514q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52zM302 1q42 0 72 25t30 71v1236q0 46 -29.5 71.5t-70.5 25.5t-71.5 -26 t-30.5 -71v-1236q0 -45 29.5 -70.5t70.5 -25.5z" />
|
||||
<glyph unicode="ǐ" horiz-adv-x="485" d="M240 0q37 0 65 24t28 67v813q0 42 -27 66t-63 24q-37 0 -64 -24t-27 -66v-813q0 -44 25.5 -67.5t62.5 -23.5zM236 1067q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5 q0 -22 17 -48l190 -264q38 -52 91 -52z" />
|
||||
<glyph unicode="Ǒ" horiz-adv-x="1602" d="M794 1516q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52zM800 -22q315 0 495.5 199t180.5 537t-180.5 537t-495.5 199t-496 -199 t-181 -537t181 -537t496 -199zM800 140q-219 0 -341 153.5t-122 420.5t121.5 420.5t341.5 153.5q219 0 340.5 -153.5t121.5 -420.5t-121.5 -420.5t-340.5 -153.5z" />
|
||||
<glyph unicode="ǒ" horiz-adv-x="1161" d="M585 -18q231 0 366 145t135 370q0 227 -135.5 371.5t-365.5 144.5t-365.5 -145t-135.5 -371q0 -225 135.5 -370t365.5 -145zM583 106q-150 0 -234.5 105.5t-84.5 285.5q0 182 85 287.5t236 105.5q150 0 235.5 -106t85.5 -287q0 -182 -84.5 -286.5t-238.5 -104.5z M573 1076q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52z" />
|
||||
<glyph unicode="Ǔ" horiz-adv-x="1495" d="M751 1514q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52zM748 -22q91 0 173.5 20t154.5 62t124.5 102.5t83 146t30.5 188.5v837 q0 46 -29.5 72t-70.5 26q-42 0 -72 -26t-30 -72v-832q0 -90 -31 -161t-83 -114t-116 -65t-134 -22t-133.5 22t-115 65t-82.5 114t-31 161v832q0 46 -30 72t-71 26q-42 0 -72 -26t-30 -72v-837q0 -127 46 -228t125 -163.5t179.5 -95t214.5 -32.5z" />
|
||||
<glyph unicode="ǔ" d="M502 -18q115 0 202 49t125 140v-89q0 -39 26 -60.5t63 -21.5t64 22.5t27 62.5v823q0 41 -26 63.5t-63 22.5t-64 -23t-27 -63v-497q-7 -142 -87 -223.5t-196 -81.5q-108 0 -166 66.5t-58 194.5v541q0 41 -26.5 63.5t-63.5 22.5t-64 -22.5t-27 -63.5v-539 q0 -194 98.5 -290.5t262.5 -96.5zM566 1076q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52z" />
|
||||
<glyph unicode="Ǣ" horiz-adv-x="1967" d="M1035 1684h504q33 0 50 18t17 47q0 27 -17 45.5t-50 18.5h-504q-33 0 -51 -18.5t-18 -45.5q0 -29 17.5 -47t51.5 -18zM509 512l454 776h3l118 -776h-575zM1255 0h595q36 1 54.5 21.5t18.5 49.5q0 34 -24.5 61.5t-64.5 27.5h-498l-81 495h545q35 0 54 20.5t19 50.5 q0 35 -24 61.5t-65 26.5h-552l-72 456h673q35 0 53.5 20.5t18.5 49.5q0 35 -24.5 62t-64.5 27h-821q-64 0 -112 -32.5t-102 -131.5l-713 -1143q-15 -30 -15 -47q0 -34 24 -55t60 -21q65 0 97 63l194 305h674l52 -305q9 -62 101 -62z" />
|
||||
<glyph unicode="ǣ" horiz-adv-x="1710" d="M609 1222h504q33 0 50 18t17 47q0 27 -17 45.5t-50 18.5h-504q-33 0 -51 -18.5t-18 -45.5q0 -29 17.5 -47t51.5 -18zM921 582q10 134 77.5 222t183.5 88q117 0 180 -83.5t72 -226.5h-513zM454 100q-92 2 -150 48.5t-58 134.5q0 32 9 59t24 47t39 35t47.5 25t57.5 17.5 t61 11t65.5 5.5t64.5 2.5t63 1t57 1.5v-90q-5 -143 -82 -219.5t-198 -78.5zM421 -27q124 0 234 55t163 166q52 -104 139 -162.5t206 -58.5q96 0 190 27.5t152.5 72.5t58.5 91q0 24 -14.5 40t-36.5 16q-18 0 -40 -13q-139 -95 -266 -95q-76 0 -132.5 26.5t-89.5 75t-49.5 110 t-17.5 137.5h621q32 0 49 19.5t17 46.5q-3 108 -29.5 196t-77 156t-131.5 105.5t-187 37.5q-211 0 -334 -176q-75 176 -323 176q-258 0 -375 -131q-18 -20 -18 -41q0 -24 18 -42.5t43 -18.5q19 0 34 10q49 28 82 43t88.5 27.5t120.5 12.5q105 0 162 -45t57 -150v-78 q-15 0 -53.5 1t-55.5 2q-558 0 -558 -336q0 -141 98 -222t255 -81z" />
|
||||
<glyph unicode="Ǧ" horiz-adv-x="1459" d="M850 1504q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52zM807 -22q234 0 457 75q78 25 78 110v500q0 41 -21.5 65.5t-61.5 24.5h-386 q-33 0 -52.5 -24.5t-19.5 -54.5q0 -28 19.5 -52t52.5 -24h267v-415q-155 -43 -315 -43q-125 0 -219.5 42t-152.5 119.5t-87 181.5t-29 234q0 128 30.5 231t91.5 179.5t159 118.5t227 42q135 0 352 -62q10 -2 20 -2q31 0 51.5 26t20.5 58q0 49 -46 69q-176 73 -405 73 q-141 0 -259 -39t-201.5 -107t-141.5 -160.5t-85.5 -200.5t-27.5 -226q0 -180 51 -321.5t142.5 -232t216 -138t274.5 -47.5z" />
|
||||
<glyph unicode="ǧ" horiz-adv-x="1181" d="M569 120q-132 0 -218 96t-86 282q0 111 31 197t101 140.5t172 54.5q64 0 115 -21.5t83.5 -58t54 -87t30.5 -105t9 -116.5q0 -181 -82 -281.5t-210 -100.5zM561 -423q221 0 348.5 108t127.5 321v903q0 40 -25 62.5t-60 22.5q-32 0 -56.5 -19.5t-27.5 -53.5v-101 q-99 193 -332 193q-141 0 -245 -71t-155.5 -187.5t-51.5 -262.5q0 -103 30.5 -192t87 -156t144 -105.5t195.5 -38.5q115 0 197.5 53.5t123.5 144.5v-198q0 -144 -79 -220.5t-234 -76.5q-24 0 -47.5 2t-42 4.5t-41 7.5l-36 8t-35 10t-29.5 10t-28.5 11t-24.5 9q-11 4 -23 4 q-25 0 -42.5 -18.5t-17.5 -43.5q0 -37 38 -58q135 -72 341 -72zM541 1067q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52z" />
|
||||
<glyph unicode="Ǩ" horiz-adv-x="1269" d="M640 1514q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52zM276 0q41 0 71.5 25t30.5 70v614l635 -667q39 -42 79 -42t69.5 26.5t29.5 65.5 q0 36 -23 60l-583 596l530 542q22 22 22 56q0 35 -27 59t-64 24q-39 0 -75 -38l-593 -626v568q0 45 -30 70.5t-70 25.5q-41 0 -71 -25.5t-30 -70.5v-1238q0 -45 29 -70t70 -25z" />
|
||||
<glyph unicode="ǩ" horiz-adv-x="1004" d="M241 0q37 0 64.5 24t27.5 67v436l470 -500q25 -28 60 -28q33 0 58.5 25t25.5 57q0 29 -22 52l-397 418l363 325q24 23 24 51q0 31 -24.5 56t-56.5 25q-25 0 -47 -19l-454 -416v765q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66v-1247q0 -44 26 -67.5t63 -23.5z M653 1274q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52z" />
|
||||
<glyph unicode="Ǫ" horiz-adv-x="1602" d="M1015 -408v85q-206 0 -206 143q0 77 62 191h-83q-134 -157 -134 -280q0 -78 54.5 -123t147.5 -45q75 0 159 29zM800 -22q315 0 495.5 199t180.5 537t-180.5 537t-495.5 199t-496 -199t-181 -537t181 -537t496 -199zM800 140q-219 0 -341 153.5t-122 420.5t121.5 420.5 t341.5 153.5q219 0 340.5 -153.5t121.5 -420.5t-121.5 -420.5t-340.5 -153.5z" />
|
||||
<glyph unicode="ǫ" horiz-adv-x="1161" d="M825 -419v85q-206 0 -206 143q0 77 62 191h-83q-134 -157 -134 -280q0 -78 54.5 -123t147.5 -45q75 0 159 29zM585 -18q231 0 366 145t135 370q0 227 -135.5 371.5t-365.5 144.5t-365.5 -145t-135.5 -371q0 -225 135.5 -370t365.5 -145zM583 106q-150 0 -234.5 105.5 t-84.5 285.5q0 182 85 287.5t236 105.5q150 0 235.5 -106t85.5 -287q0 -182 -84.5 -286.5t-238.5 -104.5z" />
|
||||
<glyph unicode="ǰ" horiz-adv-x="489" d="M-1 -379q60 0 106 4.5t81 15.5t60 24.5t42 37.5t26.5 47.5t15 61.5t7 72.5t1.5 87.5v926q0 46 -25 70.5t-65 24.5t-66.5 -25t-26.5 -71v-955q0 -65 -4.5 -98.5t-23.5 -53.5t-46 -25t-83 -5q-30 0 -47 -20.5t-17 -48.5q0 -29 17 -49.5t48 -20.5zM241 1067q51 0 89 52 l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52z" />
|
||||
<glyph unicode="DZ" horiz-adv-x="2680" d="M1713 0h825q39 0 60 24t21 57t-21 56.5t-60 23.5h-705l770 1106q25 37 25 73q0 39 -27 64t-71 25h-841q-38 0 -59 -23.5t-21 -55.5q0 -33 21 -57.5t59 -24.5h702l-770 -1105q-22 -33 -22 -68q0 -40 29 -67.5t85 -27.5zM379 163v1108h225q297 0 435 -128t138 -426 q0 -141 -28 -241.5t-90.5 -172t-166.5 -106t-254 -34.5h-259zM278 3h350q363 0 561 182.5t198 528.5q0 351 -196 534.5t-572 183.5h-341q-42 0 -71.5 -28.5t-29.5 -69.5v-1233q0 -41 29.5 -69.5t71.5 -28.5z" />
|
||||
<glyph unicode="Dz" horiz-adv-x="2447" d="M1678 0h604q35 0 54 21t19 50q0 28 -19 49t-54 21h-482l535 705q26 35 26 69q0 35 -25.5 57t-72.5 22h-591q-34 0 -53 -21t-19 -50q0 -28 19 -48.5t53 -20.5h472l-534 -706q-24 -31 -24 -66t25 -58.5t67 -23.5zM379 163v1108h225q297 0 435 -128t138 -426 q0 -141 -28 -241.5t-90.5 -172t-166.5 -106t-254 -34.5h-259zM278 3h350q363 0 561 182.5t198 528.5q0 351 -196 534.5t-572 183.5h-341q-42 0 -71.5 -28.5t-29.5 -69.5v-1233q0 -41 29.5 -69.5t71.5 -28.5z" />
|
||||
<glyph unicode="dz" horiz-adv-x="2137" d="M1368 0h604q35 0 54 21t19 50q0 28 -19 49t-54 21h-482l535 705q26 35 26 69q0 35 -25.5 57t-72.5 22h-591q-34 0 -53 -21t-19 -50q0 -28 19 -48.5t53 -20.5h472l-534 -706q-24 -31 -24 -66t25 -58.5t67 -23.5zM546 106q-78 1 -135.5 37.5t-87.5 96.5t-44 124.5 t-14 134.5q0 72 15.5 138t47.5 124.5t90.5 93.5t136.5 35q79 0 138.5 -33t94 -89t51.5 -123t17 -143q0 -396 -310 -396zM514 -18q116 0 205.5 48.5t137.5 144.5v-89q0 -39 23 -61.5t68 -22.5q36 0 63 22.5t27 62.5v1258q0 39 -27 61.5t-63 22.5q-37 0 -64 -22.5t-27 -61.5 v-519q-45 91 -130.5 139t-196.5 48q-104 0 -189.5 -39.5t-141 -109t-85.5 -162t-30 -199.5q0 -105 27.5 -198t79.5 -165.5t135.5 -115t187.5 -42.5z" />
|
||||
<glyph unicode="Ǵ" horiz-adv-x="1459" d="M836 1590q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12zM807 -22q234 0 457 75q78 25 78 110v500q0 41 -21.5 65.5t-61.5 24.5h-386q-33 0 -52.5 -24.5t-19.5 -54.5q0 -28 19.5 -52 t52.5 -24h267v-415q-155 -43 -315 -43q-125 0 -219.5 42t-152.5 119.5t-87 181.5t-29 234q0 128 30.5 231t91.5 179.5t159 118.5t227 42q135 0 352 -62q10 -2 20 -2q31 0 51.5 26t20.5 58q0 49 -46 69q-176 73 -405 73q-141 0 -259 -39t-201.5 -107t-141.5 -160.5 t-85.5 -200.5t-27.5 -226q0 -180 51 -321.5t142.5 -232t216 -138t274.5 -47.5z" />
|
||||
<glyph unicode="ǵ" horiz-adv-x="1181" d="M569 120q-132 0 -218 96t-86 282q0 111 31 197t101 140.5t172 54.5q64 0 115 -21.5t83.5 -58t54 -87t30.5 -105t9 -116.5q0 -181 -82 -281.5t-210 -100.5zM561 -423q221 0 348.5 108t127.5 321v903q0 40 -25 62.5t-60 22.5q-32 0 -56.5 -19.5t-27.5 -53.5v-101 q-99 193 -332 193q-141 0 -245 -71t-155.5 -187.5t-51.5 -262.5q0 -103 30.5 -192t87 -156t144 -105.5t195.5 -38.5q115 0 197.5 53.5t123.5 144.5v-198q0 -144 -79 -220.5t-234 -76.5q-24 0 -47.5 2t-42 4.5t-41 7.5l-36 8t-35 10t-29.5 10t-28.5 11t-24.5 9q-11 4 -23 4 q-25 0 -42.5 -18.5t-17.5 -43.5q0 -37 38 -58q135 -72 341 -72zM527 1153q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12z" />
|
||||
<glyph unicode="Ǹ" horiz-adv-x="1515" d="M820 1594q18 0 29.5 12t11.5 30t-14 35l-258 298q-29 33 -60 33q-36 0 -66.5 -29.5t-30.5 -64.5q0 -28 24 -47l318 -248q24 -19 46 -19zM268 0q38 0 66 23.5t28 65.5v1037l731 -1060q22 -32 56 -49t68 -17q52 0 87.5 35t35.5 94v1211q0 42 -28 65.5t-65 23.5 q-39 0 -66 -23.5t-27 -65.5v-1050l-728 1060q-27 39 -64.5 59t-72.5 20q-49 0 -81.5 -34.5t-32.5 -94.5v-1211q0 -42 27.5 -65.5t65.5 -23.5z" />
|
||||
<glyph unicode="ǹ" d="M241 0q37 0 64.5 23t27.5 63v499q7 141 86 223t194 82q108 0 167.5 -67t59.5 -195v-542q0 -41 26.5 -63.5t63.5 -22.5t63.5 22.5t26.5 63.5v540q0 195 -98 291t-263 96q-115 0 -201.5 -49t-124.5 -140v87q0 39 -26.5 60.5t-63.5 21.5t-64 -22.5t-27 -62.5v-822 q0 -41 26 -63.5t63 -22.5zM635 1145q18 0 29.5 12t11.5 30t-14 35l-258 298q-29 33 -60 33q-36 0 -66.5 -29.5t-30.5 -64.5q0 -28 24 -47l318 -248q24 -19 46 -19z" />
|
||||
<glyph unicode="Ǻ" horiz-adv-x="1424" d="M689 2080q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12zM711 1582q88 0 141 52t53 137t-53 136t-141 51t-141.5 -51t-53.5 -136q0 -86 53.5 -137.5t141.5 -51.5zM711 1666q-50 0 -79.5 28.5 t-29.5 76.5q0 47 30 76t79 29t79 -29t30 -76q0 -48 -29.5 -76.5t-79.5 -28.5zM1176 60q25 -66 92 -66q39 0 70 25t31 63q0 16 -8 37l-475 1179q-34 85 -73.5 112.5t-98.5 27.5t-98.5 -27.5t-73.5 -112.5l-475 -1179q-8 -21 -8 -37q0 -38 30.5 -63t69.5 -25q68 0 93 66 l118 304h688zM1001 509h-574l287 739z" />
|
||||
<glyph unicode="ǻ" horiz-adv-x="1051" d="M515 1136q88 0 141 52t53 137t-53 136t-141 51t-141.5 -51t-53.5 -136q0 -86 53.5 -137.5t141.5 -51.5zM515 1220q-50 0 -79.5 28.5t-29.5 76.5q0 47 30 76t79 29t79 -29t30 -76q0 -48 -29.5 -76.5t-79.5 -28.5zM440 102q-93 0 -147 42.5t-54 133.5q0 50 14.5 82 t44.5 54.5t90 34t138 16t202 4.5v-30q0 -147 -86.5 -242t-201.5 -95zM421 -18q215 0 308 195v-96q0 -39 25.5 -60.5t61.5 -21.5t63.5 22.5t27.5 61.5v583q0 177 -103.5 262t-286.5 85q-214 0 -369 -87q-28 -16 -28 -46q0 -26 19 -47.5t45 -21.5q14 0 24 5q51 23 86 36t96 26 t122 13q102 0 159 -51t57 -158v-109q-111 0 -189.5 -3t-152.5 -10.5t-122 -22t-88 -37t-62 -55t-34 -75.5t-12 -100q0 -138 98 -213t255 -75zM493 1634q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31 t29.5 -12z" />
|
||||
<glyph unicode="Ǽ" horiz-adv-x="1967" d="M1266 1615q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12zM509 512l454 776h3l118 -776h-575zM1255 0h595q36 1 54.5 21.5t18.5 49.5q0 34 -24.5 61.5t-64.5 27.5h-498l-81 495h545 q35 0 54 20.5t19 50.5q0 35 -24 61.5t-65 26.5h-552l-72 456h673q35 0 53.5 20.5t18.5 49.5q0 35 -24.5 62t-64.5 27h-821q-64 0 -112 -32.5t-102 -131.5l-713 -1143q-15 -30 -15 -47q0 -34 24 -55t60 -21q65 0 97 63l194 305h674l52 -305q9 -62 101 -62z" />
|
||||
<glyph unicode="ǽ" horiz-adv-x="1710" d="M921 582q10 134 77.5 222t183.5 88q117 0 180 -83.5t72 -226.5h-513zM454 100q-92 2 -150 48.5t-58 134.5q0 32 9 59t24 47t39 35t47.5 25t57.5 17.5t61 11t65.5 5.5t64.5 2.5t63 1t57 1.5v-90q-5 -143 -82 -219.5t-198 -78.5zM421 -27q124 0 234 55t163 166 q52 -104 139 -162.5t206 -58.5q96 0 190 27.5t152.5 72.5t58.5 91q0 24 -14.5 40t-36.5 16q-18 0 -40 -13q-139 -95 -266 -95q-76 0 -132.5 26.5t-89.5 75t-49.5 110t-17.5 137.5h621q32 0 49 19.5t17 46.5q-3 108 -29.5 196t-77 156t-131.5 105.5t-187 37.5 q-211 0 -334 -176q-75 176 -323 176q-258 0 -375 -131q-18 -20 -18 -41q0 -24 18 -42.5t43 -18.5q19 0 34 10q49 28 82 43t88.5 27.5t120.5 12.5q105 0 162 -45t57 -150v-78q-15 0 -53.5 1t-55.5 2q-558 0 -558 -336q0 -141 98 -222t255 -81zM840 1153q18 0 43 18l318 248 q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12z" />
|
||||
<glyph unicode="Ǿ" horiz-adv-x="1599" d="M780 1602q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12zM281 -135q33 0 64 41l106 155q150 -83 349 -83q315 0 495.5 199t180.5 537q0 176 -51 317.5t-148 238.5l115 169q21 31 21 60 q0 26 -18 43t-43 17q-40 0 -63 -36l-116 -171q-157 98 -373 98q-315 0 -496 -199t-181 -537q0 -187 58 -335t167 -245l-113 -166q-15 -22 -15 -44q0 -25 18 -42t43 -17zM1163 1104q49 -74 74 -172.5t25 -217.5q0 -267 -121.5 -420.5t-340.5 -153.5q-144 0 -248 69z M1072 1202l-615 -906q-120 152 -120 418q0 267 121.5 420.5t341.5 153.5q161 0 272 -86z" />
|
||||
<glyph unicode="ǿ" horiz-adv-x="1161" d="M144 -15q0 -21 14.5 -35.5t37.5 -14.5q26 0 42 22l74 95q117 -70 273 -70q231 0 366 145t135 370q0 45 -6 88t-17 82.5t-27.5 75.5t-38.5 68t-49 60l75 96q18 24 18 39q0 21 -17 36t-40 15q-25 0 -42 -21l-76 -98q-120 75 -281 75q-230 0 -365.5 -145t-135.5 -371 q0 -116 37.5 -214t108.5 -167l-72 -94q-14 -18 -14 -37zM585 106q-110 -1 -187 57l451 580q57 -99 57 -246q0 -181 -84 -286t-237 -105zM779 826l-451 -585q-64 101 -64 256q0 182 85 287.5t236 105.5q17 0 33 -1.5t31 -4t29 -6.5t27.5 -9.5t26.5 -12t24.5 -14.5t22.5 -16z M549 1153q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12z" />
|
||||
<glyph unicode="Ȁ" horiz-adv-x="1424" d="M850 1546q18 0 29.5 11.5t12.5 28.5q-2 20 -15 36l-258 299q-29 32 -60 32q-36 0 -66.5 -29t-30.5 -63q0 -31 24 -49l316 -246q24 -20 48 -20zM518 1546q18 0 30 12t12 29q-2 20 -14 35l-260 299q-28 32 -59 32q-36 0 -66.5 -28.5t-30.5 -64.5q0 -30 24 -48l318 -248 q22 -18 46 -18zM1176 60q25 -66 92 -66q39 0 70 25t31 63q0 16 -8 37l-475 1179q-34 85 -73.5 112.5t-98.5 27.5t-98.5 -27.5t-73.5 -112.5l-475 -1179q-8 -21 -8 -37q0 -38 30.5 -63t69.5 -25q68 0 93 66l118 304h688zM1001 509h-574l287 739z" />
|
||||
<glyph unicode="ȁ" horiz-adv-x="1051" d="M654 1100q18 0 29.5 11.5t12.5 28.5q-2 20 -15 36l-258 299q-29 32 -60 32q-36 0 -66.5 -29t-30.5 -63q0 -31 24 -49l316 -246q24 -20 48 -20zM322 1100q18 0 30 12t12 29q-2 20 -14 35l-260 299q-28 32 -59 32q-36 0 -66.5 -28.5t-30.5 -64.5q0 -30 24 -48l318 -248 q22 -18 46 -18zM440 102q-93 0 -147 42.5t-54 133.5q0 50 14.5 82t44.5 54.5t90 34t138 16t202 4.5v-30q0 -147 -86.5 -242t-201.5 -95zM421 -18q215 0 308 195v-96q0 -39 25.5 -60.5t61.5 -21.5t63.5 22.5t27.5 61.5v583q0 177 -103.5 262t-286.5 85q-214 0 -369 -87 q-28 -16 -28 -46q0 -26 19 -47.5t45 -21.5q14 0 24 5q51 23 86 36t96 26t122 13q102 0 159 -51t57 -158v-109q-111 0 -189.5 -3t-152.5 -10.5t-122 -22t-88 -37t-62 -55t-34 -75.5t-12 -100q0 -138 98 -213t255 -75z" />
|
||||
<glyph unicode="Ȃ" horiz-adv-x="1424" d="M481 1661q29 0 50 28q33 48 72.5 67t106.5 19t105.5 -19t73.5 -67q21 -28 50 -28q22 0 37 13t15 33q0 13 -6 26q-34 76 -105.5 117.5t-169.5 41.5t-169.5 -41.5t-105.5 -117.5q-6 -13 -6 -26q0 -20 15 -33t37 -13zM1176 60q25 -66 92 -66q39 0 70 25t31 63q0 16 -8 37 l-475 1179q-34 85 -73.5 112.5t-98.5 27.5t-98.5 -27.5t-73.5 -112.5l-475 -1179q-8 -21 -8 -37q0 -38 30.5 -63t69.5 -25q68 0 93 66l118 304h688zM1001 509h-574l287 739z" />
|
||||
<glyph unicode="ȃ" horiz-adv-x="1051" d="M285 1215q29 0 50 28q33 48 72.5 67t106.5 19t105.5 -19t73.5 -67q21 -28 50 -28q22 0 37 13t15 33q0 13 -6 26q-34 76 -105.5 117.5t-169.5 41.5t-169.5 -41.5t-105.5 -117.5q-6 -13 -6 -26q0 -20 15 -33t37 -13zM440 102q-93 0 -147 42.5t-54 133.5q0 50 14.5 82 t44.5 54.5t90 34t138 16t202 4.5v-30q0 -147 -86.5 -242t-201.5 -95zM421 -18q215 0 308 195v-96q0 -39 25.5 -60.5t61.5 -21.5t63.5 22.5t27.5 61.5v583q0 177 -103.5 262t-286.5 85q-214 0 -369 -87q-28 -16 -28 -46q0 -26 19 -47.5t45 -21.5q14 0 24 5q51 23 86 36t96 26 t122 13q102 0 159 -51t57 -158v-109q-111 0 -189.5 -3t-152.5 -10.5t-122 -22t-88 -37t-62 -55t-34 -75.5t-12 -100q0 -138 98 -213t255 -75z" />
|
||||
<glyph unicode="Ȅ" horiz-adv-x="1236" d="M787 1546q18 0 29.5 11.5t12.5 28.5q-2 20 -15 36l-258 299q-29 32 -60 32q-36 0 -66.5 -29t-30.5 -63q0 -31 24 -49l316 -246q24 -20 48 -20zM455 1546q18 0 30 12t12 29q-2 20 -14 35l-260 299q-28 32 -59 32q-36 0 -66.5 -28.5t-30.5 -64.5q0 -30 24 -48l318 -248 q22 -18 46 -18zM277 0h762q38 0 59 23.5t21 56.5t-21 57t-59 24h-660v495h600q38 0 59.5 23.5t21.5 55.5t-21 55t-60 23h-600v455h634q38 0 59 24t21 57t-21 56.5t-59 23.5h-741q-40 0 -67.5 -29.5t-27.5 -68.5v-1233q0 -39 30.5 -68.5t69.5 -29.5z" />
|
||||
<glyph unicode="ȅ" horiz-adv-x="1135" d="M718 1155q18 0 29.5 11.5t12.5 28.5q-2 20 -15 36l-258 299q-29 32 -60 32q-36 0 -66.5 -29t-30.5 -63q0 -31 24 -49l316 -246q24 -20 48 -20zM386 1155q18 0 30 12t12 29q-2 20 -14 35l-260 299q-28 32 -59 32q-36 0 -66.5 -28.5t-30.5 -64.5q0 -30 24 -48l318 -248 q22 -18 46 -18zM275 572q5 62 26.5 117.5t58 101t93.5 72.5t127 27q135 0 205 -89t79 -229h-589zM583 -18q224 0 382 142q28 25 28 57q0 25 -16.5 43.5t-40.5 18.5q-20 0 -38 -14q-72 -55 -143 -87t-160 -32q-141 2 -231 90.5t-92 260.5h686q32 0 48 19t16 48 q-3 101 -29 185.5t-78 153t-140 107.5t-205 39q-148 0 -259 -72t-166 -187t-55 -254q0 -158 65.5 -276.5t176.5 -179.5t251 -62z" />
|
||||
<glyph unicode="Ȇ" horiz-adv-x="1236" d="M418 1661q29 0 50 28q33 48 72.5 67t106.5 19t105.5 -19t73.5 -67q21 -28 50 -28q22 0 37 13t15 33q0 13 -6 26q-34 76 -105.5 117.5t-169.5 41.5t-169.5 -41.5t-105.5 -117.5q-6 -13 -6 -26q0 -20 15 -33t37 -13zM277 0h762q38 0 59 23.5t21 56.5t-21 57t-59 24h-660 v495h600q38 0 59.5 23.5t21.5 55.5t-21 55t-60 23h-600v455h634q38 0 59 24t21 57t-21 56.5t-59 23.5h-741q-40 0 -67.5 -29.5t-27.5 -68.5v-1233q0 -39 30.5 -68.5t69.5 -29.5z" />
|
||||
<glyph unicode="ȇ" horiz-adv-x="1135" d="M352 1146q29 0 50 28q33 48 72.5 67t106.5 19t105.5 -19t73.5 -67q21 -28 50 -28q22 0 37 13t15 33q0 13 -6 26q-34 76 -105.5 117.5t-169.5 41.5t-169.5 -41.5t-105.5 -117.5q-6 -13 -6 -26q0 -20 15 -33t37 -13zM275 572q5 62 26.5 117.5t58 101t93.5 72.5t127 27 q135 0 205 -89t79 -229h-589zM583 -18q224 0 382 142q28 25 28 57q0 25 -16.5 43.5t-40.5 18.5q-20 0 -38 -14q-72 -55 -143 -87t-160 -32q-141 2 -231 90.5t-92 260.5h686q32 0 48 19t16 48q-3 101 -29 185.5t-78 153t-140 107.5t-205 39q-148 0 -259 -72t-166 -187 t-55 -254q0 -158 65.5 -276.5t176.5 -179.5t251 -62z" />
|
||||
<glyph unicode="Ȉ" horiz-adv-x="606" d="M449 1546q18 0 29.5 11.5t12.5 28.5q-2 20 -15 36l-258 299q-29 32 -60 32q-36 0 -66.5 -29t-30.5 -63q0 -31 24 -49l316 -246q24 -20 48 -20zM117 1546q18 0 30 12t12 29q-2 20 -14 35l-260 299q-28 32 -59 32q-36 0 -66.5 -28.5t-30.5 -64.5q0 -30 24 -48l318 -248 q22 -18 46 -18zM302 1q42 0 72 25t30 71v1236q0 46 -29.5 71.5t-70.5 25.5t-71.5 -26t-30.5 -71v-1236q0 -45 29.5 -70.5t70.5 -25.5z" />
|
||||
<glyph unicode="ȉ" horiz-adv-x="485" d="M451 1156q18 0 29.5 11.5t12.5 28.5q-2 20 -15 36l-258 299q-29 32 -60 32q-36 0 -66.5 -29t-30.5 -63q0 -31 24 -49l316 -246q24 -20 48 -20zM119 1156q18 0 30 12t12 29q-2 20 -14 35l-260 299q-28 32 -59 32q-36 0 -66.5 -28.5t-30.5 -64.5q0 -30 24 -48l318 -248 q22 -18 46 -18zM240 0q37 0 65 24t28 67v813q0 42 -27 66t-63 24q-37 0 -64 -24t-27 -66v-813q0 -44 25.5 -67.5t62.5 -23.5z" />
|
||||
<glyph unicode="Ȋ" horiz-adv-x="606" d="M80 1661q29 0 50 28q33 48 72.5 67t106.5 19t105.5 -19t73.5 -67q21 -28 50 -28q22 0 37 13t15 33q0 13 -6 26q-34 76 -105.5 117.5t-169.5 41.5t-169.5 -41.5t-105.5 -117.5q-6 -13 -6 -26q0 -20 15 -33t37 -13zM302 1q42 0 72 25t30 71v1236q0 46 -29.5 71.5 t-70.5 25.5t-71.5 -26t-30.5 -71v-1236q0 -45 29.5 -70.5t70.5 -25.5z" />
|
||||
<glyph unicode="ȋ" horiz-adv-x="485" d="M10 1134q29 0 50 28q33 48 72.5 67t106.5 19t105.5 -19t73.5 -67q21 -28 50 -28q22 0 37 13t15 33q0 13 -6 26q-34 76 -105.5 117.5t-169.5 41.5t-169.5 -41.5t-105.5 -117.5q-6 -13 -6 -26q0 -20 15 -33t37 -13zM240 0q37 0 65 24t28 67v813q0 42 -27 66t-63 24 q-37 0 -64 -24t-27 -66v-813q0 -44 25.5 -67.5t62.5 -23.5z" />
|
||||
<glyph unicode="Ȍ" horiz-adv-x="1602" d="M941 1548q18 0 29.5 11.5t12.5 28.5q-2 20 -15 36l-258 299q-29 32 -60 32q-36 0 -66.5 -29t-30.5 -63q0 -31 24 -49l316 -246q24 -20 48 -20zM609 1548q18 0 30 12t12 29q-2 20 -14 35l-260 299q-28 32 -59 32q-36 0 -66.5 -28.5t-30.5 -64.5q0 -30 24 -48l318 -248 q22 -18 46 -18zM800 -22q315 0 495.5 199t180.5 537t-180.5 537t-495.5 199t-496 -199t-181 -537t181 -537t496 -199zM800 140q-219 0 -341 153.5t-122 420.5t121.5 420.5t341.5 153.5q219 0 340.5 -153.5t121.5 -420.5t-121.5 -420.5t-340.5 -153.5z" />
|
||||
<glyph unicode="ȍ" horiz-adv-x="1161" d="M720 1107q18 0 29.5 11.5t12.5 28.5q-2 20 -15 36l-258 299q-29 32 -60 32q-36 0 -66.5 -29t-30.5 -63q0 -31 24 -49l316 -246q24 -20 48 -20zM388 1107q18 0 30 12t12 29q-2 20 -14 35l-260 299q-28 32 -59 32q-36 0 -66.5 -28.5t-30.5 -64.5q0 -30 24 -48l318 -248 q22 -18 46 -18zM585 -18q231 0 366 145t135 370q0 227 -135.5 371.5t-365.5 144.5t-365.5 -145t-135.5 -371q0 -225 135.5 -370t365.5 -145zM583 106q-150 0 -234.5 105.5t-84.5 285.5q0 182 85 287.5t236 105.5q150 0 235.5 -106t85.5 -287q0 -182 -84.5 -286.5 t-238.5 -104.5z" />
|
||||
<glyph unicode="Ȏ" horiz-adv-x="1602" d="M571 1663q29 0 50 28q33 48 72.5 67t106.5 19t105.5 -19t73.5 -67q21 -28 50 -28q22 0 37 13t15 33q0 13 -6 26q-34 76 -105.5 117.5t-169.5 41.5t-169.5 -41.5t-105.5 -117.5q-6 -13 -6 -26q0 -20 15 -33t37 -13zM800 -22q315 0 495.5 199t180.5 537t-180.5 537 t-495.5 199t-496 -199t-181 -537t181 -537t496 -199zM800 140q-219 0 -341 153.5t-122 420.5t121.5 420.5t341.5 153.5q219 0 340.5 -153.5t121.5 -420.5t-121.5 -420.5t-340.5 -153.5z" />
|
||||
<glyph unicode="ȏ" horiz-adv-x="1176" d="M349 1140q29 0 50 28q33 48 72.5 67t106.5 19t105.5 -19t73.5 -67q21 -28 50 -28q22 0 37 13t15 33q0 13 -6 26q-34 76 -105.5 117.5t-169.5 41.5t-169.5 -41.5t-105.5 -117.5q-6 -13 -6 -26q0 -20 15 -33t37 -13zM585 -18q231 0 366 145t135 370q0 227 -135.5 371.5 t-365.5 144.5t-365.5 -145t-135.5 -371q0 -225 135.5 -370t365.5 -145zM583 106q-150 0 -234.5 105.5t-84.5 285.5q0 182 85 287.5t236 105.5q150 0 235.5 -106t85.5 -287q0 -182 -84.5 -286.5t-238.5 -104.5z" />
|
||||
<glyph unicode="Ȑ" horiz-adv-x="1362" d="M831 1546q18 0 29.5 11.5t12.5 28.5q-2 20 -15 36l-258 299q-29 32 -60 32q-36 0 -66.5 -29t-30.5 -63q0 -31 24 -49l316 -246q24 -20 48 -20zM499 1546q18 0 30 12t12 29q-2 20 -14 35l-260 299q-28 32 -59 32q-36 0 -66.5 -28.5t-30.5 -64.5q0 -30 24 -48l318 -248 q22 -18 46 -18zM379 809v460h318q43 0 74 -2t72 -8.5t69.5 -21t54.5 -37.5t39.5 -61t13.5 -88q0 -61 -20 -105.5t-51.5 -70.5t-79.5 -41t-94 -20t-105 -5h-291zM277 1q41 0 71.5 25t30.5 71v557h334q80 0 127 -11.5t78.5 -45.5t45.5 -85t24 -142l31 -279q4 -43 36.5 -66.5 t72.5 -23.5q39 0 67 25t28 65q0 9 -1 14l-36 314q-31 270 -266 321v4q150 28 226 115t76 211q0 86 -29.5 151.5t-76.5 104t-116 62.5t-137.5 32.5t-150.5 8.5h-434q-42 0 -71.5 -28.5t-29.5 -69.5v-1234q0 -46 29.5 -71t70.5 -25z" />
|
||||
<glyph unicode="ȑ" horiz-adv-x="730" d="M517 1109q18 0 29.5 11.5t12.5 28.5q-2 20 -15 36l-258 299q-29 32 -60 32q-36 0 -66.5 -29t-30.5 -63q0 -31 24 -49l316 -246q24 -20 48 -20zM185 1109q18 0 30 12t12 29q-2 20 -14 35l-260 299q-28 32 -59 32q-36 0 -66.5 -28.5t-30.5 -64.5q0 -30 24 -48l318 -248 q22 -18 46 -18zM243 0q37 0 64.5 22t27.5 62v515q0 117 74.5 187t209.5 70q32 0 49 21.5t17 51.5q0 32 -18.5 56t-50.5 24q-106 0 -181.5 -62.5t-100.5 -155.5l1 120q0 38 -26.5 59.5t-63.5 21.5t-64 -21.5t-27 -61.5v-825q0 -40 26 -62t63 -22z" />
|
||||
<glyph unicode="Ȓ" horiz-adv-x="1362" d="M461 1661q29 0 50 28q33 48 72.5 67t106.5 19t105.5 -19t73.5 -67q21 -28 50 -28q22 0 37 13t15 33q0 13 -6 26q-34 76 -105.5 117.5t-169.5 41.5t-169.5 -41.5t-105.5 -117.5q-6 -13 -6 -26q0 -20 15 -33t37 -13zM379 809v460h318q43 0 74 -2t72 -8.5t69.5 -21 t54.5 -37.5t39.5 -61t13.5 -88q0 -61 -20 -105.5t-51.5 -70.5t-79.5 -41t-94 -20t-105 -5h-291zM277 1q41 0 71.5 25t30.5 71v557h334q80 0 127 -11.5t78.5 -45.5t45.5 -85t24 -142l31 -279q4 -43 36.5 -66.5t72.5 -23.5q39 0 67 25t28 65q0 9 -1 14l-36 314 q-31 270 -266 321v4q150 28 226 115t76 211q0 86 -29.5 151.5t-76.5 104t-116 62.5t-137.5 32.5t-150.5 8.5h-434q-42 0 -71.5 -28.5t-29.5 -69.5v-1234q0 -46 29.5 -71t70.5 -25z" />
|
||||
<glyph unicode="ȓ" horiz-adv-x="730" d="M148 1224q29 0 50 28q33 48 72.5 67t106.5 19t105.5 -19t73.5 -67q21 -28 50 -28q22 0 37 13t15 33q0 13 -6 26q-34 76 -105.5 117.5t-169.5 41.5t-169.5 -41.5t-105.5 -117.5q-6 -13 -6 -26q0 -20 15 -33t37 -13zM243 0q37 0 64.5 22t27.5 62v515q0 117 74.5 187 t209.5 70q32 0 49 21.5t17 51.5q0 32 -18.5 56t-50.5 24q-106 0 -181.5 -62.5t-100.5 -155.5l1 120q0 38 -26.5 59.5t-63.5 21.5t-64 -21.5t-27 -61.5v-825q0 -40 26 -62t63 -22z" />
|
||||
<glyph unicode="Ȕ" horiz-adv-x="1495" d="M897 1546q18 0 29.5 11.5t12.5 28.5q-2 20 -15 36l-258 299q-29 32 -60 32q-36 0 -66.5 -29t-30.5 -63q0 -31 24 -49l316 -246q24 -20 48 -20zM565 1546q18 0 30 12t12 29q-2 20 -14 35l-260 299q-28 32 -59 32q-36 0 -66.5 -28.5t-30.5 -64.5q0 -30 24 -48l318 -248 q22 -18 46 -18zM748 -22q91 0 173.5 20t154.5 62t124.5 102.5t83 146t30.5 188.5v837q0 46 -29.5 72t-70.5 26q-42 0 -72 -26t-30 -72v-832q0 -90 -31 -161t-83 -114t-116 -65t-134 -22t-133.5 22t-115 65t-82.5 114t-31 161v832q0 46 -30 72t-71 26q-42 0 -72 -26t-30 -72 v-837q0 -127 46 -228t125 -163.5t179.5 -95t214.5 -32.5z" />
|
||||
<glyph unicode="ȕ" d="M713 1107q18 0 29.5 11.5t12.5 28.5q-2 20 -15 36l-258 299q-29 32 -60 32q-36 0 -66.5 -29t-30.5 -63q0 -31 24 -49l316 -246q24 -20 48 -20zM381 1107q18 0 30 12t12 29q-2 20 -14 35l-260 299q-28 32 -59 32q-36 0 -66.5 -28.5t-30.5 -64.5q0 -30 24 -48l318 -248 q22 -18 46 -18zM502 -18q115 0 202 49t125 140v-89q0 -39 26 -60.5t63 -21.5t64 22.5t27 62.5v823q0 41 -26 63.5t-63 22.5t-64 -23t-27 -63v-497q-7 -142 -87 -223.5t-196 -81.5q-108 0 -166 66.5t-58 194.5v541q0 41 -26.5 63.5t-63.5 22.5t-64 -22.5t-27 -63.5v-539 q0 -194 98.5 -290.5t262.5 -96.5z" />
|
||||
<glyph unicode="Ȗ" horiz-adv-x="1495" d="M528 1661q29 0 50 28q33 48 72.5 67t106.5 19t105.5 -19t73.5 -67q21 -28 50 -28q22 0 37 13t15 33q0 13 -6 26q-34 76 -105.5 117.5t-169.5 41.5t-169.5 -41.5t-105.5 -117.5q-6 -13 -6 -26q0 -20 15 -33t37 -13zM748 -22q91 0 173.5 20t154.5 62t124.5 102.5t83 146 t30.5 188.5v837q0 46 -29.5 72t-70.5 26q-42 0 -72 -26t-30 -72v-832q0 -90 -31 -161t-83 -114t-116 -65t-134 -22t-133.5 22t-115 65t-82.5 114t-31 161v832q0 46 -30 72t-71 26q-42 0 -72 -26t-30 -72v-837q0 -127 46 -228t125 -163.5t179.5 -95t214.5 -32.5z" />
|
||||
<glyph unicode="ȗ" d="M344 1223q29 0 50 28q33 48 72.5 67t106.5 19t105.5 -19t73.5 -67q21 -28 50 -28q22 0 37 13t15 33q0 13 -6 26q-34 76 -105.5 117.5t-169.5 41.5t-169.5 -41.5t-105.5 -117.5q-6 -13 -6 -26q0 -20 15 -33t37 -13zM502 -18q115 0 202 49t125 140v-89q0 -39 26 -60.5 t63 -21.5t64 22.5t27 62.5v823q0 41 -26 63.5t-63 22.5t-64 -23t-27 -63v-497q-7 -142 -87 -223.5t-196 -81.5q-108 0 -166 66.5t-58 194.5v541q0 41 -26.5 63.5t-63.5 22.5t-64 -22.5t-27 -63.5v-539q0 -194 98.5 -290.5t262.5 -96.5z" />
|
||||
<glyph unicode="Ș" horiz-adv-x="1282" d="M481 -598h43q38 0 53 43l138 403q3 12 3 18q0 35 -37 38h-84q-64 -2 -73 -56l-67 -403q-1 -3 -1 -12q0 -30 25 -31zM636 -22q248 0 392.5 109t144.5 305q0 81 -24.5 143t-74 106.5t-110 75.5t-147.5 59l-288 93q-102 34 -148.5 80.5t-46.5 124.5q0 104 90 159t240 55 q105 0 197.5 -33.5t153.5 -73.5q21 -14 44 -14q32 0 55 25t23 56q0 30 -23 50q-68 61 -196.5 106.5t-269.5 45.5q-144 0 -258.5 -45t-182 -133t-67.5 -204q0 -144 78 -226t237 -136l287 -96q64 -22 104 -41t71.5 -47t45 -65.5t13.5 -90.5q0 -110 -92.5 -168t-238.5 -58 q-224 0 -394 132q-11 8 -25 8q-31 0 -61.5 -34t-30.5 -66q0 -19 12 -30q185 -172 490 -172z" />
|
||||
<glyph unicode="ș" horiz-adv-x="1006" d="M349 -606h43q38 0 53 43l138 403q3 12 3 18q0 35 -37 38h-84q-64 -2 -73 -56l-67 -403q-1 -3 -1 -12q0 -30 25 -31zM145 90q60 -44 160.5 -76.5t207.5 -32.5q115 0 202 31.5t140.5 101.5t53.5 172q0 108 -64.5 177.5t-215.5 106.5l-173 43q-109 27 -142 51.5t-33 84.5 q0 74 64 108.5t172 34.5q34 0 67 -4.5t65 -13t50.5 -14.5t48 -17.5t32.5 -12.5q16 -6 31 -6q26 0 41.5 16.5t15.5 39.5q0 39 -39 59q-54 29 -139.5 52.5t-182.5 23.5q-81 0 -150 -15.5t-124.5 -47t-87.5 -85.5t-32 -125q0 -45 9 -80t29 -61t43 -44.5t61.5 -34.5t72 -26 t87.5 -24l177 -44q88 -22 126 -58t38 -96q0 -84 -67.5 -127.5t-177.5 -43.5q-153 1 -290 86q-22 14 -46 14q-26 0 -43 -17.5t-17 -41.5q0 -33 30 -54z" />
|
||||
<glyph unicode="Ț" horiz-adv-x="1167" d="M425 -598h43q38 0 53 43l138 403q3 12 3 18q0 35 -37 38h-84q-64 -2 -73 -56l-67 -403q-1 -3 -1 -12q0 -30 25 -31zM587 0q41 0 71 26t30 71v1171h372q39 0 61 24t22 57t-21.5 56.5t-61.5 23.5h-951q-39 0 -61 -24t-22 -56q0 -33 22 -57t61 -24h377v-1171q0 -45 30 -71 t71 -26z" />
|
||||
<glyph unicode="ț" horiz-adv-x="742" d="M285 -598h43q38 0 53 43l138 403q3 12 3 18q0 35 -37 38h-84q-64 -2 -73 -56l-67 -403q-1 -3 -1 -12q0 -30 25 -31zM475 -14h59q36 0 58.5 2t45 9t33.5 22.5t11 40.5q0 28 -19 49t-52 21h-6l-68 -3h-11q-63 0 -92 45.5t-29 148.5v545h184q66 0 66 57q0 27 -16.5 44 t-49.5 17h-184v290q0 35 -20 53.5t-50 18.5q-32 0 -58.5 -23t-28.5 -55l-24 -284h-123q-33 0 -50 -16.5t-17 -42.5q0 -27 17.5 -43t50.5 -16h122v-576q0 -155 68 -229.5t183 -74.5z" />
|
||||
<glyph unicode="Ȟ" horiz-adv-x="1477" d="M757 1514q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52zM277 1q42 0 72 25t30 71v564h723v-564q0 -45 29.5 -70.5t70.5 -25.5 q42 0 72 25t30 71v1235q0 46 -30 71.5t-71 25.5t-71 -26t-30 -71v-510h-723v510q0 46 -29.5 71.5t-70.5 25.5q-42 0 -72 -25.5t-30 -71.5v-1235q0 -45 29.5 -70.5t70.5 -25.5z" />
|
||||
<glyph unicode="ȟ" horiz-adv-x="1161" d="M241 0q37 0 64.5 23t27.5 63v485q0 147 84 227.5t207 80.5q101 0 158.5 -59t57.5 -178v-556q0 -40 26.5 -63t62.5 -23q37 0 64 23t27 63v546q0 99 -28.5 174t-79 119.5t-113 66t-136.5 21.5q-110 0 -200 -46.5t-130 -128.5v507q0 40 -26.5 61.5t-63.5 21.5t-64 -22 t-27 -61v-1259q0 -40 26.5 -63t62.5 -23zM712 1265q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52z" />
|
||||
<glyph unicode="Ȧ" horiz-adv-x="1424" d="M706 1615q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31zM1176 60q25 -66 92 -66q39 0 70 25t31 63q0 16 -8 37l-475 1179q-34 85 -73.5 112.5t-98.5 27.5t-98.5 -27.5t-73.5 -112.5l-475 -1179q-8 -21 -8 -37q0 -38 30.5 -63 t69.5 -25q68 0 93 66l118 304h688zM1001 509h-574l287 739z" />
|
||||
<glyph unicode="ȧ" horiz-adv-x="1051" d="M510 1170q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31zM440 102q-93 0 -147 42.5t-54 133.5q0 50 14.5 82t44.5 54.5t90 34t138 16t202 4.5v-30q0 -147 -86.5 -242t-201.5 -95zM421 -18q215 0 308 195v-96q0 -39 25.5 -60.5 t61.5 -21.5t63.5 22.5t27.5 61.5v583q0 177 -103.5 262t-286.5 85q-214 0 -369 -87q-28 -16 -28 -46q0 -26 19 -47.5t45 -21.5q14 0 24 5q51 23 86 36t96 26t122 13q102 0 159 -51t57 -158v-109q-111 0 -189.5 -3t-152.5 -10.5t-122 -22t-88 -37t-62 -55t-34 -75.5t-12 -100 q0 -138 98 -213t255 -75z" />
|
||||
<glyph unicode="Ȩ" horiz-adv-x="1236" d="M669 -400q80 0 139 39.5t59 111.5q0 144 -183 146q-8 0 -32 -2l36 113h-66l-47 -132q-3 -10 -3 -19q0 -31 38 -31q2 0 8 0.5t8 0.5q45 0 76.5 -17.5t31.5 -54.5q0 -41 -21.5 -61.5t-73.5 -20.5q-62 0 -161 35q-8 2 -12 2q-13 0 -21 -10.5t-8 -24.5q0 -32 72 -53.5 t160 -21.5zM277 0h762q38 0 59 23.5t21 56.5t-21 57t-59 24h-660v495h600q38 0 59.5 23.5t21.5 55.5t-21 55t-60 23h-600v455h634q38 0 59 24t21 57t-21 56.5t-59 23.5h-741q-40 0 -67.5 -29.5t-27.5 -68.5v-1233q0 -39 30.5 -68.5t69.5 -29.5z" />
|
||||
<glyph unicode="ȩ" horiz-adv-x="1135" d="M275 572q5 62 26.5 117.5t58 101t93.5 72.5t127 27q135 0 205 -89t79 -229h-589zM583 -18q224 0 382 142q28 25 28 57q0 25 -16.5 43.5t-40.5 18.5q-20 0 -38 -14q-72 -55 -143 -87t-160 -32q-141 2 -231 90.5t-92 260.5h686q32 0 48 19t16 48q-3 101 -29 185.5t-78 153 t-140 107.5t-205 39q-148 0 -259 -72t-166 -187t-55 -254q0 -158 65.5 -276.5t176.5 -179.5t251 -62zM602 -400q80 0 139 39.5t59 111.5q0 144 -183 146q-8 0 -32 -2l36 113h-66l-47 -132q-3 -10 -3 -19q0 -31 38 -31q2 0 8 0.5t8 0.5q45 0 76.5 -17.5t31.5 -54.5 q0 -41 -21.5 -61.5t-73.5 -20.5q-62 0 -161 35q-8 2 -12 2q-13 0 -21 -10.5t-8 -24.5q0 -32 72 -53.5t160 -21.5z" />
|
||||
<glyph unicode="Ȯ" horiz-adv-x="1602" d="M796 1617q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31zM800 -22q315 0 495.5 199t180.5 537t-180.5 537t-495.5 199t-496 -199t-181 -537t181 -537t496 -199zM800 140q-219 0 -341 153.5t-122 420.5t121.5 420.5t341.5 153.5 q219 0 340.5 -153.5t121.5 -420.5t-121.5 -420.5t-340.5 -153.5z" />
|
||||
<glyph unicode="ȯ" horiz-adv-x="1161" d="M585 -18q231 0 366 145t135 370q0 227 -135.5 371.5t-365.5 144.5t-365.5 -145t-135.5 -371q0 -225 135.5 -370t365.5 -145zM583 106q-150 0 -234.5 105.5t-84.5 285.5q0 182 85 287.5t236 105.5q150 0 235.5 -106t85.5 -287q0 -182 -84.5 -286.5t-238.5 -104.5z M575 1177q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31z" />
|
||||
<glyph unicode="Ȳ" horiz-adv-x="1285" d="M416 1669h504q33 0 50 18t17 47q0 27 -17 45.5t-50 18.5h-504q-33 0 -51 -18.5t-18 -45.5q0 -29 17.5 -47t51.5 -18zM541 98q0 -46 30 -71.5t72 -25.5q41 0 71 25.5t30 70.5v506l454 700q15 23 15 48q0 32 -25.5 55t-59.5 23q-48 0 -78 -47l-396 -627l-394 624 q-30 48 -82 48q-40 0 -71.5 -27t-31.5 -64q0 -25 14 -46l452 -694v-498z" />
|
||||
<glyph unicode="ȳ" horiz-adv-x="1040" d="M438 -341l578 1219q7 17 7 34q0 34 -26.5 58.5t-61.5 24.5q-52 0 -79 -55l-306 -648l-304 645q-25 53 -78 53q-35 0 -62.5 -24t-27.5 -60q0 -22 9 -40l372 -767l-179 -379q-9 -20 -9 -38q0 -34 26 -56.5t60 -22.5q54 0 81 56zM314 1236h504q33 0 50 18t17 47 q0 27 -17 45.5t-50 18.5h-504q-33 0 -51 -18.5t-18 -45.5q0 -29 17.5 -47t51.5 -18z" />
|
||||
<glyph unicode="ȷ" horiz-adv-x="489" d="M-1 -379q60 0 106 4.5t81 15.5t60 24.5t42 37.5t26.5 47.5t15 61.5t7 72.5t1.5 87.5v926q0 46 -25 70.5t-65 24.5t-66.5 -25t-26.5 -71v-955q0 -65 -4.5 -98.5t-23.5 -53.5t-46 -25t-83 -5q-30 0 -47 -20.5t-17 -48.5q0 -29 17 -49.5t48 -20.5z" />
|
||||
<glyph unicode="ʼ" horiz-adv-x="600" d="M189 181h56q38 0 53 43l164 475q3 12 3 18q0 35 -37 38h-106q-64 -2 -73 -56l-84 -475q-1 -3 -1 -12q0 -30 25 -31z" />
|
||||
<glyph unicode="ˆ" horiz-adv-x="569" d="M47 1155q39 0 69 38l171 229l170 -229q30 -37 67 -37q25 0 42 16t17 40q0 22 -18 48l-189 264q-40 52 -90 52q-52 0 -90 -52l-189 -264q-18 -24 -18 -49q0 -24 16.5 -40t41.5 -16z" />
|
||||
<glyph unicode="ˇ" horiz-adv-x="569" d="M285 1116q51 0 89 52l189 264q17 25 17 47q0 25 -17.5 42t-42.5 17q-35 0 -66 -38l-169 -229l-171 229q-30 38 -67 38q-25 0 -42.5 -16.5t-17.5 -41.5q0 -22 17 -48l190 -264q38 -52 91 -52z" />
|
||||
<glyph unicode="ˉ" horiz-adv-x="569" d="M47 1310h481q33 0 50 18t17 47q0 27 -17.5 45.5t-49.5 18.5h-481q-34 0 -52 -18.5t-18 -45.5q0 -29 18 -47t52 -18z" />
|
||||
<glyph unicode="˘" horiz-adv-x="569" d="M285 1240q97 0 168 41t105 116q6 15 6 29q0 23 -16 36.5t-39 13.5q-33 0 -54 -30q-33 -46 -69 -64t-101 -18t-101.5 18t-68.5 64q-21 30 -54 30q-23 0 -39 -13.5t-16 -36.5q0 -14 6 -29q34 -75 105 -116t168 -41z" />
|
||||
<glyph unicode="˙" horiz-adv-x="593" d="M288 1207q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31z" />
|
||||
<glyph unicode="˚" horiz-adv-x="569" d="M285 1184q88 0 141 52t53 137t-53 136t-141 51t-141.5 -51t-53.5 -136q0 -86 53.5 -137.5t141.5 -51.5zM285 1268q-50 0 -79.5 28.5t-29.5 76.5q0 47 30 76t79 29t79 -29t30 -76q0 -48 -29.5 -76.5t-79.5 -28.5z" />
|
||||
<glyph unicode="˛" horiz-adv-x="569" d="M437 -419v85q-206 0 -206 143q0 77 62 191h-83q-134 -157 -134 -280q0 -78 54.5 -123t147.5 -45q75 0 159 29z" />
|
||||
<glyph unicode="˜" horiz-adv-x="569" d="M537 1386q-24 0 -61 -38t-62 -38q-29 0 -114.5 36t-137.5 36q-133 0 -177 -141q-4 -8 -4 -17q0 -19 12.5 -29.5t31.5 -10.5q34 0 57 32q34 43 76 43q33 0 116.5 -37t127.5 -37q66 0 120.5 43t54.5 106q0 15 -9 20q-2 32 -31 32z" />
|
||||
<glyph unicode="˝" horiz-adv-x="569" d="M339 1106q21 0 41 17l321 249q24 18 24 48q0 35 -30.5 64t-66.5 29q-33 0 -56 -29l-264 -304q-12 -13 -12 -33q0 -17 12 -29t31 -12zM8 1106q23 0 43 17l320 249q24 18 24 47q0 35 -30.5 64.5t-66.5 29.5q-32 0 -55 -29l-265 -304q-12 -15 -12 -33q0 -17 12 -29t30 -12z " />
|
||||
<glyph unicode="̇" horiz-adv-x="600" d="M322 411q53 0 85.5 32t32.5 77q0 44 -32.5 76t-85.5 32t-85.5 -32t-32.5 -76q0 -45 32.5 -77t85.5 -32z" />
|
||||
<glyph unicode="̏" horiz-adv-x="569" d="M627 1156q18 0 29.5 11.5t12.5 28.5q-2 20 -15 36l-258 299q-29 32 -60 32q-36 0 -66.5 -29t-30.5 -63q0 -31 24 -49l316 -246q24 -20 48 -20zM295 1156q18 0 30 12t12 29q-2 20 -14 35l-260 299q-28 32 -59 32q-36 0 -66.5 -28.5t-30.5 -64.5q0 -30 24 -48l318 -248 q22 -18 46 -18z" />
|
||||
<glyph unicode="̑" horiz-adv-x="569" d="M56 1263q29 0 50 28q33 48 72.5 67t106.5 19t105.5 -19t73.5 -67q21 -28 50 -28q22 0 37 13t15 33q0 13 -6 26q-34 76 -105.5 117.5t-169.5 41.5t-169.5 -41.5t-105.5 -117.5q-6 -13 -6 -26q0 -20 15 -33t37 -13z" />
|
||||
<glyph unicode="̒" horiz-adv-x="600" d="M223 1208h106q64 2 73 56l84 475q1 3 1 12q0 30 -25 31h-56q-38 0 -53 -43l-164 -475q-3 -12 -3 -18q0 -35 37 -38z" />
|
||||
<glyph unicode="̦" horiz-adv-x="593" d="M155 -606h43q38 0 53 43l138 403q3 12 3 18q0 35 -37 38h-84q-64 -2 -73 -56l-67 -403q-1 -3 -1 -12q0 -30 25 -31z" />
|
||||
<glyph unicode="͘" horiz-adv-x="600" d="M322 411q53 0 85.5 32t32.5 77q0 44 -32.5 76t-85.5 32t-85.5 -32t-32.5 -76q0 -45 32.5 -77t85.5 -32z" />
|
||||
<glyph unicode="Δ" horiz-adv-x="1226" d="M207 104l404 1128l410 -1128h-814zM8 0h1211l-520 1382q-25 59 -86 59q-27 0 -50.5 -15.5t-34.5 -43.5z" />
|
||||
<glyph unicode="Σ" horiz-adv-x="1383" d="M271 -128l890 1q36 0 56.5 27.5t20.5 64.5t-20.5 64.5t-56.5 27.5h-811l482 480q67 65 67 117q0 51 -67 117l-481 479h810q36 0 56.5 27.5t20.5 64.5t-20.5 64.5t-56.5 27.5h-875q-62 0 -103.5 -36.5t-41.5 -92.5q0 -71 68 -139l503 -509l-503 -526q-65 -66 -65 -138 q0 -52 36 -86.5t91 -34.5z" />
|
||||
<glyph unicode="Ω" horiz-adv-x="1537" d="M266 0h478q-83 125 -146 232t-123 227.5t-92 230.5t-32 201q0 180 116 281t368 101q253 0 369 -101t116 -281q0 -90 -32 -200.5t-92 -230.5t-123 -227t-146 -233h478q26 0 41 22t15 53q0 29 -15 51t-41 22h-268q170 196 274 402.5t104 379.5q0 92 -18.5 167t-66 144.5 t-122.5 116t-195 74.5t-278 28q-144 0 -259.5 -28t-193 -76t-129 -115.5t-74.5 -144.5t-23 -166q0 -173 102.5 -376.5t274.5 -405.5h-267q-27 0 -41.5 -21.5t-14.5 -51.5q0 -31 14.5 -53t41.5 -22z" />
|
||||
<glyph unicode="μ" d="M230 -274q40 0 66.5 27t26.5 72v676h-182v-676q0 -49 25 -74t64 -25zM502 -18q115 0 202 49t125 140v-89q0 -39 26 -60.5t63 -21.5t64 22.5t27 62.5v823q0 41 -26 63.5t-63 22.5t-64 -23t-27 -63v-497q-7 -142 -87 -223.5t-196 -81.5q-108 0 -166 66.5t-58 194.5v541 q0 41 -26.5 63.5t-63.5 22.5t-64 -22.5t-27 -63.5v-539q0 -194 98.5 -290.5t262.5 -96.5z" />
|
||||
<glyph unicode="π" horiz-adv-x="1222" d="M961 -20q45 7 63 22.5t18 42.5q0 22 -13 69.5t-26.5 117t-13.5 143.5v547h81q35 0 54.5 21.5t19.5 52.5q0 30 -19.5 51.5t-54.5 21.5h-859q-43 0 -67 -22t-24 -51q0 -31 24 -52.5t67 -21.5h75q0 -401 -157 -837q-7 -20 -7 -38q0 -35 25 -55t60 -20q33 0 62 18.5t44 55.5 q53 132 93.5 395t49.5 481h357v-582q0 -199 24.5 -281t95.5 -82q13 0 28 3z" />
|
||||
<glyph unicode="Ḃ" horiz-adv-x="1312" d="M652 1615q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31zM377 813v461h294q55 0 95.5 -4.5t81.5 -17.5t67 -36t42.5 -62t16.5 -93q0 -132 -77.5 -190t-246.5 -58h-273zM377 157v501h251q204 0 298 -53t94 -197q0 -146 -75.5 -198.5 t-244.5 -52.5h-323zM276 0h465q122 0 218 32t153.5 86.5t87.5 122t30 142.5q0 159 -92.5 250.5t-255.5 109.5v4q139 18 213.5 108t74.5 218q0 169 -120 262.5t-371 93.5h-403q-41 0 -70 -28t-29 -69v-1235q0 -40 29 -68.5t70 -28.5z" />
|
||||
<glyph unicode="ḃ" horiz-adv-x="1195" d="M675 1275q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31zM644 106q-310 0 -310 396q0 76 17 143t51.5 123t94 89t138.5 33q78 0 136.5 -35t90.5 -93.5t47.5 -124.5t15.5 -138q0 -70 -14 -134.5t-44 -124.5t-87.5 -96.5t-135.5 -37.5 zM676 -18q104 0 187.5 42.5t135.5 115t79.5 165.5t27.5 198q0 107 -30 199.5t-85.5 162t-141 109t-189.5 39.5q-111 0 -196.5 -48t-130.5 -139v519q0 39 -27 61.5t-64 22.5q-36 0 -63 -22.5t-27 -61.5v-1258q0 -40 27 -62.5t63 -22.5q45 0 68 22.5t23 61.5v89 q48 -96 137.5 -144.5t205.5 -48.5z" />
|
||||
<glyph unicode="Ḋ" horiz-adv-x="1505" d="M767 1615q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31zM379 163v1108h225q297 0 435 -128t138 -426q0 -141 -28 -241.5t-90.5 -172t-166.5 -106t-254 -34.5h-259zM278 3h350q363 0 561 182.5t198 528.5q0 351 -196 534.5 t-572 183.5h-341q-42 0 -71.5 -28.5t-29.5 -69.5v-1233q0 -41 29.5 -69.5t71.5 -28.5z" />
|
||||
<glyph unicode="ḋ" horiz-adv-x="1195" d="M524 1260q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31zM546 106q-78 1 -135.5 37.5t-87.5 96.5t-44 124.5t-14 134.5q0 72 15.5 138t47.5 124.5t90.5 93.5t136.5 35q79 0 138.5 -33t94 -89t51.5 -123t17 -143q0 -396 -310 -396z M514 -18q116 0 205.5 48.5t137.5 144.5v-89q0 -39 23 -61.5t68 -22.5q36 0 63 22.5t27 62.5v1258q0 39 -27 61.5t-63 22.5q-37 0 -64 -22.5t-27 -61.5v-519q-45 91 -130.5 139t-196.5 48q-104 0 -189.5 -39.5t-141 -109t-85.5 -162t-30 -199.5q0 -105 27.5 -198t79.5 -165.5 t135.5 -115t187.5 -42.5z" />
|
||||
<glyph unicode="Ḟ" horiz-adv-x="1145" d="M655 1617q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31zM277 0q42 0 72 25t30 72v564h568q38 0 59.5 23.5t21.5 56.5q0 32 -21.5 55t-59.5 23h-568v449h595q38 0 59 24t21 57t-21 56.5t-59 23.5h-701q-40 0 -68.5 -27.5 t-28.5 -70.5v-1234q0 -46 30 -71.5t71 -25.5z" />
|
||||
<glyph unicode="ḟ" horiz-adv-x="704" d="M326 0q37 0 64 23.5t27 65.5v777h169q64 0 64 58q0 26 -15.5 43t-48.5 17h-169v78q0 81 6.5 128.5t25 73t42.5 33t67 7.5h85q30 0 46.5 20t16.5 48t-16.5 48.5t-45.5 20.5h-122q-134 0 -210 -75.5t-76 -254.5v-127h-131q-33 0 -49 -17t-16 -43q0 -25 16 -41.5t49 -16.5 h131v-777q0 -42 26.5 -65.5t63.5 -23.5zM407 1553q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31z" />
|
||||
<glyph unicode="Ṁ" horiz-adv-x="1914" d="M979 1615q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31zM951 37q35 0 68 23t52 66l466 1046v-1089q0 -34 27.5 -53t65.5 -19q37 0 65 19t28 53v1184q0 58 -46 97t-107 39q-50 0 -94.5 -29.5t-70.5 -89.5l-454 -1008l-454 1008 q-27 60 -71.5 89.5t-94.5 29.5q-61 0 -106.5 -39t-45.5 -97v-1184q0 -34 28 -53t65 -19q38 0 65.5 19t27.5 53v1089l466 -1046q19 -43 52 -66t68 -23z" />
|
||||
<glyph unicode="ṁ" horiz-adv-x="1849" d="M241 0q38 0 65.5 22.5t27.5 62.5v488q0 150 78 233.5t208 83.5q218 0 218 -276v-528q0 -40 26.5 -63t62.5 -23q37 0 64 23t27 63v482q0 158 81 240t206 82q105 0 162 -63.5t57 -187.5v-554q0 -40 26 -62.5t63 -22.5t64.5 22.5t27.5 62.5v547q0 98 -28.5 173t-79 119.5 t-114.5 66.5t-140 22q-132 0 -224 -58.5t-134 -174.5q-31 112 -118 172.5t-211 60.5q-109 0 -194 -49.5t-128 -141.5v93q0 37 -27.5 58t-63.5 21t-63.5 -22.5t-27.5 -61.5v-825q0 -40 26 -62.5t63 -22.5zM951 1168q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32 t-31.5 -74q0 -45 31 -76t84 -31z" />
|
||||
<glyph unicode="Ṗ" horiz-adv-x="1232" d="M649 1615q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31zM379 769v500h315q165 0 239 -56t74 -191q0 -138 -78.5 -195.5t-245.5 -57.5h-304zM278 0q42 0 71.5 25t29.5 71v519h305q119 0 211 21t163.5 66.5t109.5 126t38 193.5 q0 217 -129 312t-375 95h-423q-43 0 -72.5 -29t-29.5 -71v-1233q0 -45 30 -70.5t71 -25.5z" />
|
||||
<glyph unicode="ṗ" horiz-adv-x="1195" d="M635 106q-79 0 -138.5 33t-94 89t-51.5 122.5t-17 142.5q0 397 310 397q63 -1 112.5 -26t80.5 -64t51.5 -92t28.5 -105t8 -107q0 -72 -15.5 -138t-47.5 -124.5t-90.5 -93t-136.5 -34.5zM242 -380q37 0 64 22.5t27 61.5v465q45 -90 130.5 -138.5t196.5 -48.5 q104 0 189.5 39.5t141 109t85.5 162t30 199.5q0 105 -27.5 198t-79.5 165.5t-135.5 115t-187.5 42.5q-116 0 -205.5 -48.5t-137.5 -144.5v89q0 39 -23 61.5t-68 22.5q-37 0 -63.5 -22t-26.5 -62v-1205q0 -39 27 -61.5t63 -22.5zM611 1184q53 0 84.5 31t31.5 76q0 42 -32 74 t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31z" />
|
||||
<glyph unicode="Ṡ" horiz-adv-x="1282" d="M645 1615q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31zM636 -22q248 0 392.5 109t144.5 305q0 81 -24.5 143t-74 106.5t-110 75.5t-147.5 59l-288 93q-102 34 -148.5 80.5t-46.5 124.5q0 104 90 159t240 55q105 0 197.5 -33.5 t153.5 -73.5q21 -14 44 -14q32 0 55 25t23 56q0 30 -23 50q-68 61 -196.5 106.5t-269.5 45.5q-144 0 -258.5 -45t-182 -133t-67.5 -204q0 -144 78 -226t237 -136l287 -96q64 -22 104 -41t71.5 -47t45 -65.5t13.5 -90.5q0 -110 -92.5 -168t-238.5 -58q-224 0 -394 132 q-11 8 -25 8q-31 0 -61.5 -34t-30.5 -66q0 -19 12 -30q185 -172 490 -172z" />
|
||||
<glyph unicode="ṡ" horiz-adv-x="1006" d="M145 90q60 -44 160.5 -76.5t207.5 -32.5q115 0 202 31.5t140.5 101.5t53.5 172q0 108 -64.5 177.5t-215.5 106.5l-173 43q-109 27 -142 51.5t-33 84.5q0 74 64 108.5t172 34.5q34 0 67 -4.5t65 -13t50.5 -14.5t48 -17.5t32.5 -12.5q16 -6 31 -6q26 0 41.5 16.5t15.5 39.5 q0 39 -39 59q-54 29 -139.5 52.5t-182.5 23.5q-81 0 -150 -15.5t-124.5 -47t-87.5 -85.5t-32 -125q0 -45 9 -80t29 -61t43 -44.5t61.5 -34.5t72 -26t87.5 -24l177 -44q88 -22 126 -58t38 -96q0 -84 -67.5 -127.5t-177.5 -43.5q-153 1 -290 86q-22 14 -46 14q-26 0 -43 -17.5 t-17 -41.5q0 -33 30 -54zM485 1179q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31z" />
|
||||
<glyph unicode="Ṫ" horiz-adv-x="1167" d="M595 1618q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31zM587 0q41 0 71 26t30 71v1171h372q39 0 61 24t22 57t-21.5 56.5t-61.5 23.5h-951q-39 0 -61 -24t-22 -56q0 -33 22 -57t61 -24h377v-1171q0 -45 30 -71t71 -26z" />
|
||||
<glyph unicode="ṫ" horiz-adv-x="742" d="M475 -14h59q36 0 58.5 2t45 9t33.5 22.5t11 40.5q0 28 -19 49t-52 21h-6l-68 -3h-11q-63 0 -92 45.5t-29 148.5v545h184q66 0 66 57q0 27 -16.5 44t-49.5 17h-184v290q0 35 -20 53.5t-50 18.5q-32 0 -58.5 -23t-28.5 -55l-24 -284h-123q-33 0 -50 -16.5t-17 -42.5 q0 -27 17.5 -43t50.5 -16h122v-576q0 -155 68 -229.5t183 -74.5zM326 1469q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31z" />
|
||||
<glyph unicode="Ẁ" horiz-adv-x="2135" d="M1077 1592q18 0 29.5 12t11.5 30t-14 35l-258 298q-29 33 -60 33q-36 0 -66.5 -29.5t-30.5 -64.5q0 -28 24 -47l318 -248q24 -19 46 -19zM1711 110l327 1201q4 15 4 30q0 41 -30 66t-69 25q-32 0 -58 -18t-35 -51l-299 -1167l-359 1110q-25 75 -57 99.5t-84 24.5 q-50 0 -83.5 -26.5t-56.5 -97.5l-359 -1110l-299 1167q-9 33 -35 51t-58 18q-39 0 -69 -25t-30 -66q0 -15 4 -30l327 -1201q15 -55 56 -84.5t91 -29.5t93 29.5t61 82.5l358 1092l359 -1092q18 -54 60 -83t92 -29q51 0 93 30t56 84z" />
|
||||
<glyph unicode="ẁ" horiz-adv-x="1706" d="M1241 0q84 0 118 100l273 782q6 16 6 32q0 35 -25.5 56.5t-58.5 21.5q-60 0 -79 -59l-248 -741l-248 702q-35 100 -121 100q-85 0 -120 -100l-248 -702l-248 741q-19 59 -79 59q-33 0 -58.5 -21.5t-25.5 -56.5q0 -16 6 -32l273 -782q34 -100 118 -100q88 0 128 110 l254 712l255 -712q39 -110 128 -110zM877 1157q18 0 29.5 12t11.5 30t-14 35l-258 298q-29 33 -60 33q-36 0 -66.5 -29.5t-30.5 -64.5q0 -28 24 -47l318 -248q24 -19 46 -19z" />
|
||||
<glyph unicode="Ẃ" horiz-adv-x="2135" d="M1041 1600q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12zM1711 110l327 1201q4 15 4 30q0 41 -30 66t-69 25q-32 0 -58 -18t-35 -51l-299 -1167l-359 1110q-25 75 -57 99.5t-84 24.5 q-50 0 -83.5 -26.5t-56.5 -97.5l-359 -1110l-299 1167q-9 33 -35 51t-58 18q-39 0 -69 -25t-30 -66q0 -15 4 -30l327 -1201q15 -55 56 -84.5t91 -29.5t93 29.5t61 82.5l358 1092l359 -1092q18 -54 60 -83t92 -29q51 0 93 30t56 84z" />
|
||||
<glyph unicode="ẃ" horiz-adv-x="1706" d="M1241 0q84 0 118 100l273 782q6 16 6 32q0 35 -25.5 56.5t-58.5 21.5q-60 0 -79 -59l-248 -741l-248 702q-35 100 -121 100q-85 0 -120 -100l-248 -702l-248 741q-19 59 -79 59q-33 0 -58.5 -21.5t-25.5 -56.5q0 -16 6 -32l273 -782q34 -100 118 -100q88 0 128 110 l254 712l255 -712q39 -110 128 -110zM841 1165q18 0 43 18l318 248q26 19 26 50q0 35 -30.5 64t-66.5 29q-32 0 -59 -32l-259 -299q-13 -17 -13 -35q0 -19 11.5 -31t29.5 -12z" />
|
||||
<glyph unicode="Ẅ" horiz-adv-x="2135" d="M1255 1601q49 0 79 30t30 72q0 41 -30 70.5t-79 29.5q-50 0 -80.5 -30t-30.5 -70q0 -42 30.5 -72t80.5 -30zM865 1601q50 0 80 30t30 72q0 40 -30 70t-80 30q-49 0 -79 -30t-30 -70q0 -42 30 -72t79 -30zM1711 110l327 1201q4 15 4 30q0 41 -30 66t-69 25q-32 0 -58 -18 t-35 -51l-299 -1167l-359 1110q-25 75 -57 99.5t-84 24.5q-50 0 -83.5 -26.5t-56.5 -97.5l-359 -1110l-299 1167q-9 33 -35 51t-58 18q-39 0 -69 -25t-30 -66q0 -15 4 -30l327 -1201q15 -55 56 -84.5t91 -29.5t93 29.5t61 82.5l358 1092l359 -1092q18 -54 60 -83t92 -29 q51 0 93 30t56 84z" />
|
||||
<glyph unicode="ẅ" horiz-adv-x="1706" d="M1241 0q84 0 118 100l273 782q6 16 6 32q0 35 -25.5 56.5t-58.5 21.5q-60 0 -79 -59l-248 -741l-248 702q-35 100 -121 100q-85 0 -120 -100l-248 -702l-248 741q-19 59 -79 59q-33 0 -58.5 -21.5t-25.5 -56.5q0 -16 6 -32l273 -782q34 -100 118 -100q88 0 128 110 l254 712l255 -712q39 -110 128 -110zM1055 1166q49 0 79 30t30 72q0 41 -30 70.5t-79 29.5q-50 0 -80.5 -30t-30.5 -70q0 -42 30.5 -72t80.5 -30zM665 1166q50 0 80 30t30 72q0 40 -30 70t-80 30q-49 0 -79 -30t-30 -70q0 -42 30 -72t79 -30z" />
|
||||
<glyph unicode="Ẽ" horiz-adv-x="1236" d="M892 1784q-24 0 -61 -38t-62 -38q-29 0 -114.5 36t-137.5 36q-133 0 -177 -141q-4 -8 -4 -17q0 -19 12.5 -29.5t31.5 -10.5q34 0 57 32q34 43 76 43q33 0 116.5 -37t127.5 -37q66 0 120.5 43t54.5 106q0 15 -9 20q-2 32 -31 32zM277 0h762q38 0 59 23.5t21 56.5t-21 57 t-59 24h-660v495h600q38 0 59.5 23.5t21.5 55.5t-21 55t-60 23h-600v455h634q38 0 59 24t21 57t-21 56.5t-59 23.5h-741q-40 0 -67.5 -29.5t-27.5 -68.5v-1233q0 -39 30.5 -68.5t69.5 -29.5z" />
|
||||
<glyph unicode="ẽ" horiz-adv-x="1135" d="M831 1347q-24 0 -61 -38t-62 -38q-29 0 -114.5 36t-137.5 36q-133 0 -177 -141q-4 -8 -4 -17q0 -19 12.5 -29.5t31.5 -10.5q34 0 57 32q34 43 76 43q33 0 116.5 -37t127.5 -37q66 0 120.5 43t54.5 106q0 15 -9 20q-2 32 -31 32zM275 572q5 62 26.5 117.5t58 101 t93.5 72.5t127 27q135 0 205 -89t79 -229h-589zM583 -18q224 0 382 142q28 25 28 57q0 25 -16.5 43.5t-40.5 18.5q-20 0 -38 -14q-72 -55 -143 -87t-160 -32q-141 2 -231 90.5t-92 260.5h686q32 0 48 19t16 48q-3 101 -29 185.5t-78 153t-140 107.5t-205 39q-148 0 -259 -72 t-166 -187t-55 -254q0 -158 65.5 -276.5t176.5 -179.5t251 -62z" />
|
||||
<glyph unicode="Ỳ" horiz-adv-x="1285" d="M683 1592q18 0 29.5 12t11.5 30t-14 35l-258 298q-29 33 -60 33q-36 0 -66.5 -29.5t-30.5 -64.5q0 -28 24 -47l318 -248q24 -19 46 -19zM541 98q0 -46 30 -71.5t72 -25.5q41 0 71 25.5t30 70.5v506l454 700q15 23 15 48q0 32 -25.5 55t-59.5 23q-48 0 -78 -47l-396 -627 l-394 624q-30 48 -82 48q-40 0 -71.5 -27t-31.5 -64q0 -25 14 -46l452 -694v-498z" />
|
||||
<glyph unicode="ỳ" horiz-adv-x="1040" d="M438 -341l578 1219q7 17 7 34q0 34 -26.5 58.5t-61.5 24.5q-52 0 -79 -55l-306 -648l-304 645q-25 53 -78 53q-35 0 -62.5 -24t-27.5 -60q0 -22 9 -40l372 -767l-179 -379q-9 -20 -9 -38q0 -34 26 -56.5t60 -22.5q54 0 81 56zM581 1159q18 0 29.5 12t11.5 30t-14 35 l-258 298q-29 33 -60 33q-36 0 -66.5 -29.5t-30.5 -64.5q0 -28 24 -47l318 -248q24 -19 46 -19z" />
|
||||
<glyph unicode="Ỹ" horiz-adv-x="1285" d="M912 1784q-24 0 -61 -38t-62 -38q-29 0 -114.5 36t-137.5 36q-133 0 -177 -141q-4 -8 -4 -17q0 -19 12.5 -29.5t31.5 -10.5q34 0 57 32q34 43 76 43q33 0 116.5 -37t127.5 -37q66 0 120.5 43t54.5 106q0 15 -9 20q-2 32 -31 32zM541 98q0 -46 30 -71.5t72 -25.5 q41 0 71 25.5t30 70.5v506l454 700q15 23 15 48q0 32 -25.5 55t-59.5 23q-48 0 -78 -47l-396 -627l-394 624q-30 48 -82 48q-40 0 -71.5 -27t-31.5 -64q0 -25 14 -46l452 -694v-498z" />
|
||||
<glyph unicode="ỹ" horiz-adv-x="1040" d="M438 -341l578 1219q7 17 7 34q0 34 -26.5 58.5t-61.5 24.5q-52 0 -79 -55l-306 -648l-304 645q-25 53 -78 53q-35 0 -62.5 -24t-27.5 -60q0 -22 9 -40l372 -767l-179 -379q-9 -20 -9 -38q0 -34 26 -56.5t60 -22.5q54 0 81 56zM810 1351q-24 0 -61 -38t-62 -38 q-29 0 -114.5 36t-137.5 36q-133 0 -177 -141q-4 -8 -4 -17q0 -19 12.5 -29.5t31.5 -10.5q34 0 57 32q34 43 76 43q33 0 116.5 -37t127.5 -37q66 0 120.5 43t54.5 106q0 15 -9 20q-2 32 -31 32z" />
|
||||
<glyph unicode="–" horiz-adv-x="1024" d="M76 452h871q35 0 54.5 22.5t19.5 53.5t-19.5 54.5t-54.5 23.5h-871q-35 0 -54.5 -23t-19.5 -54q0 -32 19.5 -54.5t54.5 -22.5z" />
|
||||
<glyph unicode="—" horiz-adv-x="2048" d="M76 452h1896q35 0 54.5 22.5t19.5 53.5t-19.5 54.5t-54.5 23.5h-1896q-35 0 -54.5 -23t-19.5 -54q0 -32 19.5 -54.5t54.5 -22.5z" />
|
||||
<glyph unicode="‘" horiz-adv-x="593" d="M175 964h108q64 2 73 56l66 366q1 3 1 12q0 31 -25 31h-54q-22 0 -34 -9.5t-22 -33.5l-147 -366q-3 -6 -3 -18q0 -38 37 -38z" />
|
||||
<glyph unicode="’" horiz-adv-x="593" d="M187 964h53q22 0 34 9.5t22 33.5l148 366q3 12 3 18q0 38 -37 38h-109q-63 0 -73 -56l-65 -366q-1 -3 -1 -12q0 -31 25 -31z" />
|
||||
<glyph unicode="‚" horiz-adv-x="593" d="M187 -260h53q22 0 34 9.5t22 33.5l148 367q3 12 3 18q0 38 -37 38h-109q-63 0 -73 -56l-65 -367q-1 -3 -1 -12q0 -30 25 -31z" />
|
||||
<glyph unicode="“" horiz-adv-x="1150" d="M639 964h109q64 2 73 56l65 366q1 3 1 12q0 31 -25 31h-53q-22 0 -34.5 -9.5t-21.5 -33.5l-148 -366q-3 -6 -3 -18q0 -38 37 -38zM251 964h108q64 2 73 56l66 366q7 43 -24 43h-54q-22 0 -34 -9.5t-22 -33.5l-147 -366q-3 -6 -3 -18q0 -38 37 -38z" />
|
||||
<glyph unicode="”" horiz-adv-x="1150" d="M649 963h54q22 0 34 9.5t22 33.5l147 367q3 6 3 18q0 38 -37 38h-108q-64 -2 -73 -56l-66 -367q-1 -3 -1 -12q0 -30 25 -31zM264 963h54q22 0 34 9.5t22 33.5l148 367q3 12 3 18q0 38 -37 38h-109q-64 -2 -73 -56l-66 -367q-1 -3 -1 -12q0 -30 25 -31z" />
|
||||
<glyph unicode="„" horiz-adv-x="1150" d="M673 -244h56q20 0 31.5 9.5t21.5 33.5l148 367q3 12 3 18q0 35 -37 38h-109q-64 -2 -73 -56l-65 -367q-1 -3 -1 -12q0 -30 25 -31zM270 -244h56q20 0 31.5 9.5t21.5 33.5l148 367q3 12 3 18q0 35 -37 38h-109q-64 -2 -73 -56l-65 -367q-1 -3 -1 -12q0 -30 25 -31z" />
|
||||
<glyph unicode="†" horiz-adv-x="1186" d="M593 0q35 0 60 22t25 61v890h276q33 0 52 22t19 53q0 29 -19 51t-52 22h-276v273q0 39 -25 61.5t-60 22.5t-60 -22t-25 -62v-273h-281q-32 0 -50 -22t-18 -53q0 -30 18 -51.5t50 -21.5h281v-890q0 -39 25 -61t60 -22z" />
|
||||
<glyph unicode="‡" horiz-adv-x="1186" d="M593 -1q34 0 58.5 22t24.5 61v261h276q34 0 53 21.5t19 51.5q0 29 -19 50t-53 21h-276v499h276q34 0 53 21t19 52q0 29 -19 50t-53 21h-276v264q0 40 -24.5 62t-58.5 22t-58.5 -22t-24.5 -62v-264h-280q-33 0 -52 -21.5t-19 -50.5t19 -50.5t52 -21.5h280v-499h-280 q-33 0 -52 -21.5t-19 -50.5t19 -50.5t52 -21.5h280v-261q0 -39 24.5 -61t58.5 -22z" />
|
||||
<glyph unicode="•" horiz-adv-x="1024" d="M510 358q153 0 262 105t109 250q0 148 -108.5 253t-262.5 105q-151 0 -259 -105t-108 -253q0 -144 108.5 -249.5t258.5 -105.5z" />
|
||||
<glyph unicode="…" horiz-adv-x="1780" d="M1483 -2q53 0 84.5 32t31.5 76q0 43 -32.5 74.5t-83.5 31.5q-52 0 -84 -32t-32 -74q0 -44 31.5 -76t84.5 -32zM890 -2q52 0 83.5 32t31.5 76q0 43 -32 74.5t-83 31.5q-53 0 -85 -32t-32 -74q0 -44 32 -76t85 -32zM296 -2q52 0 84 32t32 76q0 43 -32.5 74.5t-83.5 31.5 q-52 0 -84 -32t-32 -74q0 -44 32 -76t84 -32z" />
|
||||
<glyph unicode="‰" horiz-adv-x="2309" d="M1905 -32q155 0 243 112t88 277q0 163 -88.5 273t-237.5 110q-156 0 -244 -111.5t-88 -276.5q0 -164 88.5 -274t238.5 -110zM1907 78q-52 0 -90 23t-59 63.5t-31 88t-10 102.5q0 75 17 134t61.5 100.5t111.5 41.5q51 0 89.5 -23.5t59.5 -64t31 -87.5t10 -101 q0 -76 -17.5 -136t-61.5 -100.5t-111 -40.5zM1158 -32q104 0 180.5 54t113.5 141t37 194q0 163 -88.5 273t-237.5 110q-156 0 -244 -111.5t-88 -276.5q0 -164 89 -274t238 -110zM1160 78q-68 0 -112 41.5t-60.5 101t-16.5 134.5q0 54 10 101t30.5 87.5t59 64t89.5 23.5 t89 -23.5t59.5 -63.5t31.5 -87.5t10 -101.5q0 -119 -46 -198t-144 -79zM369 639q104 0 180.5 54t113.5 141t37 194q0 162 -88.5 272.5t-237.5 110.5q-156 0 -244 -111.5t-88 -277.5q0 -163 88.5 -273t238.5 -110zM371 748q-51 0 -89.5 23.5t-60 63.5t-31.5 87.5t-10 102.5 q0 74 17 133.5t62 101.5t112 42q51 0 89.5 -23.5t59.5 -64t31 -87.5t10 -102q0 -76 -17.5 -135.5t-61.5 -100.5t-111 -41zM363 -70q32 0 54 38l779 1374q13 26 13 42q0 25 -17 42t-40 17q-36 0 -58 -39l-781 -1382q-12 -24 -12 -35q0 -24 19 -40.5t43 -16.5z" />
|
||||
<glyph unicode="‹" horiz-adv-x="593" d="M397 101q26 0 44.5 17t18.5 42q0 14 -5 27l-165 355l165 354q5 11 5 26q0 26 -18.5 43t-44.5 17q-47 0 -76 -51l-218 -389l218 -390q28 -51 76 -51z" />
|
||||
<glyph unicode="›" horiz-adv-x="593" d="M197 101q47 0 77 51l218 390l-218 389q-30 51 -77 51q-26 0 -45 -17t-19 -43q0 -13 6 -26l166 -354l-166 -355q-6 -14 -6 -26q0 -25 19 -42.5t45 -17.5z" />
|
||||
<glyph unicode="⁄" horiz-adv-x="599" d="M57 -72q51 0 70 53l484 1450q5 20 5 29q0 31 -22.5 50t-52.5 19q-56 0 -73 -53l-480 -1450q-5 -18 -5 -28q0 -32 22 -51t52 -19z" />
|
||||
<glyph unicode="⁴" horiz-adv-x="731" d="M134 837l303 472v-472h-303zM490 573q21 0 36.5 14t15.5 39v134h88q20 0 31 11.5t11 27.5t-11.5 27t-30.5 11h-88v491q0 41 -21 62t-54 21q-60 0 -94 -58l-326 -499q-12 -20 -12 -39q0 -23 16.5 -39t44.5 -16h341v-134q0 -25 15.5 -39t37.5 -14z" />
|
||||
<glyph unicode="€" horiz-adv-x="1398" d="M839 -22q227 0 394 109q50 32 50 78q0 31 -22 54t-53 23q-18 0 -38 -11q-78 -44 -145 -67.5t-156 -23.5q-76 0 -141.5 17.5t-115 49.5t-89 77.5t-65.5 100t-42 118.5h542q25 0 38.5 16.5t13.5 40.5t-14 42.5t-39 18.5h-561q-4 44 -4 91q0 22 1 43h565q25 0 38.5 16.5 t13.5 40.5t-14 42t-39 18h-551q16 91 51 165t90.5 131t136 88.5t179.5 31.5q40 0 77.5 -4t62.5 -9.5t52 -15t40 -15t33.5 -16t24.5 -12.5q18 -8 33 -8q31 0 53 24t22 56q0 45 -44 69q-167 93 -361 93q-136 0 -251.5 -43.5t-198.5 -121t-137.5 -183t-76.5 -230.5h-132 q-22 0 -35 -18t-13 -42q0 -23 12.5 -40t35.5 -17h119q-1 -23 -1 -46q0 -22 1 -44t3 -44h-122q-22 0 -35 -18.5t-13 -42.5q0 -23 12.5 -40t35.5 -17h140q20 -92 58.5 -172t95.5 -145t129 -111.5t162.5 -71.5t193.5 -25z" />
|
||||
<glyph unicode="ℓ" horiz-adv-x="742" d="M487 1348q33 0 57.5 -26t24.5 -73q0 -73 -41 -137.5t-126 -130.5v222q0 77 24.5 111t60.5 34zM487 1494q-39 0 -75.5 -10.5t-71 -34t-60 -58t-41 -87.5t-15.5 -118l-1 -327l-177 -139q-22 -18 -22 -39q0 -16 11.5 -27.5t27.5 -11.5t32 12l128 100v-465q0 -162 68.5 -234 t184.5 -72q112 0 150 7q24 4 37.5 21.5t13.5 40.5q0 28 -18 47t-49 19h-4l-65 -3h-11q-66 0 -97 44.5t-31 154.5v562q174 128 238 207.5t64 177.5q0 44 -12.5 84.5t-37 74.5t-68 54t-99.5 20z" />
|
||||
<glyph unicode="™" horiz-adv-x="1944" d="M366 653q28 0 48.5 17.5t20.5 48.5v559h183q23 0 36.5 15t13.5 35q0 21 -13.5 36t-36.5 15h-504q-25 0 -38 -14.5t-13 -35.5t13.5 -36t37.5 -15h183v-559q0 -31 20.5 -48.5t48.5 -17.5zM887 652q28 0 48 17.5t20 48.5v471l235 -489q17 -43 61 -43q42 0 63 43l235 489 v-471q0 -31 20 -48.5t47 -17.5t47.5 17.5t20.5 48.5v544q0 58 -29 87t-74 29q-71 0 -109 -81l-219 -452l-220 452q-39 82 -110 82q-44 0 -73.5 -29.5t-29.5 -87.5v-544q0 -31 20 -48.5t47 -17.5z" />
|
||||
<glyph unicode="Ω" horiz-adv-x="1497" d="M266 0h478q-83 125 -146 232t-123 227.5t-92 230.5t-32 201q0 180 116 281t368 101q253 0 369 -101t116 -281q0 -90 -32 -200.5t-92 -230.5t-123 -227t-146 -233h478q26 0 41 22t15 53q0 29 -15 51t-41 22h-268q170 196 274 402.5t104 379.5q0 92 -18.5 167t-66 144.5 t-122.5 116t-195 74.5t-278 28q-144 0 -259.5 -28t-193 -76t-129 -115.5t-74.5 -144.5t-23 -166q0 -173 102.5 -376.5t274.5 -405.5h-267q-27 0 -41.5 -21.5t-14.5 -51.5q0 -31 14.5 -53t41.5 -22z" />
|
||||
<glyph unicode="℮" horiz-adv-x="1132" d="M317 562q9 182 80 294t194 112q124 0 180 -102t65 -304h-519zM600 -12q130 0 218.5 31.5t163.5 95.5q37 31 37 62q0 16 -11 26.5t-28 10.5q-30 0 -59 -31q-140 -144 -317 -144q-137 0 -208.5 105t-80.5 347h640q33 0 49 27t16 59q0 67 -12 126t-43.5 117.5t-80 100 t-127.5 67t-180 25.5q-100 0 -181.5 -28.5t-135.5 -76.5t-90 -113t-52 -135.5t-16 -147.5q0 -251 126.5 -387.5t371.5 -136.5z" />
|
||||
<glyph unicode="∂" horiz-adv-x="1167" d="M535 120q-121 0 -196.5 94.5t-75.5 240.5q0 160 90 273t216 113q109 0 190 -71t106 -151q-13 -133 -55 -244.5t-114 -183t-159 -71.5h-2zM520 -24q128 0 232 64.5t171.5 178.5t103.5 268.5t36 335.5q0 197 -41.5 349t-116 246.5t-174.5 142.5t-221 48q-166 0 -347 -82 q-43 -19 -43 -62q0 -29 21 -52.5t49 -23.5q14 0 26 6q167 65 284 65q181 0 284.5 -148.5t103.5 -453.5q0 -53 -2 -75q-47 54 -79 82q-135 117 -271 117q-91 0 -173 -37.5t-143.5 -105t-98 -167.5t-36.5 -218q0 -89 27 -172.5t78.5 -152.5t137 -111t192.5 -42z" />
|
||||
<glyph unicode="∅" horiz-adv-x="1745" d="M367 75q0 -23 17.5 -43t41.5 -20q14 0 29.5 11.5t22.5 20.5t24 31l81 106q139 -71 291 -71q122 0 234 46t193 123.5t129 184t48 223.5q0 124 -50 233t-139 189l84 111q2 3 12 17.5t14 21t8.5 18t4.5 20.5q0 23 -16.5 41t-39.5 18q-30 0 -52 -29l-111 -147 q-147 89 -319 89q-127 0 -241 -48t-193.5 -127.5t-126 -186t-46.5 -220.5q0 -133 57.5 -247.5t158.5 -194.5l-76 -100q-40 -49 -40 -70zM550 333q-74 65 -115.5 157t-41.5 197q0 201 138.5 336.5t342.5 135.5q137 0 252 -67zM648 267l572 752q133 -135 133 -332 q0 -135 -65.5 -244t-174.5 -168.5t-239 -59.5q-122 0 -226 52z" />
|
||||
<glyph unicode="∆" horiz-adv-x="1226" d="M207 104l404 1128l410 -1128h-814zM8 0h1211l-520 1382q-25 59 -86 59q-27 0 -50.5 -15.5t-34.5 -43.5z" />
|
||||
<glyph unicode="∏" horiz-adv-x="1485" d="M372 0q36 0 62 22.5t26 64.5v1191h565v-1192q0 -41 26 -63.5t62 -22.5t62.5 22.5t26.5 63.5l1 1192h138q33 0 51 23t18 55t-18 55t-51 23h-1200q-36 0 -56.5 -23t-20.5 -55t20 -55t56 -23h144v-1191q0 -41 26 -64t62 -23z" />
|
||||
<glyph unicode="∑" horiz-adv-x="1175" d="M107 -199h1024q37 0 57 24t20 57t-20 57t-57 24h-850l529 675l-489 648h776q35 0 54 21.5t19 52.5q0 30 -19 52t-54 22h-959q-42 0 -61.5 -19t-19.5 -47q0 -31 18 -54l529 -699l-554 -702q-17 -20 -17 -49q0 -26 18 -44.5t56 -18.5z" />
|
||||
<glyph unicode="−" horiz-adv-x="715" d="M112 452h486q36 0 56.5 22.5t20.5 53.5t-20.5 54.5t-56.5 23.5h-486q-37 0 -57 -23t-20 -54t20.5 -54t56.5 -23z" />
|
||||
<glyph unicode="∕" horiz-adv-x="342" d="M131 -166q51 0 70 52l484 1451q5 18 5 29q0 31 -22.5 50t-52.5 19q-56 0 -73 -52l-480 -1452q-5 -18 -5 -28q0 -31 22 -50t52 -19z" />
|
||||
<glyph unicode="∙" horiz-adv-x="569" d="M296 311q52 0 84 32t32 76q0 43 -32.5 74.5t-83.5 31.5q-52 0 -84 -32t-32 -74q0 -44 32 -76t84 -32z" />
|
||||
<glyph unicode="√" horiz-adv-x="1310" d="M218 557q-42 0 -73.5 -29t-31.5 -67q0 -21 11 -40l217 -403q34 -73 71.5 -103.5t94.5 -30.5q62 0 103.5 30.5t65.5 100.5l525 1423q6 18 6 31q0 37 -29 62t-67 25q-28 0 -54.5 -18t-39.5 -51l-509 -1377h-3l-202 394q-28 53 -85 53z" />
|
||||
<glyph unicode="∞" horiz-adv-x="1615" d="M1197 366q-77 0 -144.5 50.5t-179.5 176.5q7 7 45.5 50t60 63.5t59.5 51.5t76 45t77 14h3q89 0 147 -62t58 -166q0 -88 -55 -155.5t-147 -67.5zM432 366q-96 0 -155.5 64.5t-59.5 158.5q0 96 55.5 162t147.5 66q36 0 68.5 -8t64.5 -29t52.5 -36t53.5 -51.5t44.5 -50.5 t46.5 -58q-6 -7 -36 -39.5t-41.5 -44t-39.5 -39t-47 -39.5t-45.5 -27.5t-52.5 -22t-53 -6.5h-3zM419 261q49 0 95.5 14t82.5 34.5t77 56t68.5 65t67.5 74.5q110 -128 198 -186t182 -58q130 0 225.5 93t95.5 242v3q0 143 -87 232t-224 89q-48 0 -94 -14.5t-78 -32t-73 -54.5 t-61.5 -58.5t-60.5 -67.5q-11 -12 -16 -18q-46 56 -85.5 95t-87.5 76t-101 55.5t-109 18.5q-142 0 -236.5 -94.5t-94.5 -238.5q0 -138 93.5 -232t222.5 -94z" />
|
||||
<glyph unicode="∫" horiz-adv-x="755" d="M167 -336q51 0 93 13t83 48.5t69 93t45 152.5t17 221q0 171 -14.5 519t-14.5 507q0 222 41 318t135 96q41 0 65 18.5t24 45.5q0 26 -26.5 44.5t-76.5 18.5q-320 0 -320 -524q0 -161 15.5 -515t15.5 -526q0 -99 -10 -172t-25.5 -115t-39 -67t-45.5 -33t-49 -8 q-45 0 -69.5 -19t-24.5 -46q0 -28 29 -49t83 -21z" />
|
||||
<glyph unicode="≈" horiz-adv-x="1182" d="M810 667q70 0 117 46.5t47 130.5q0 25 -20 42.5t-44 17.5q-28 0 -45 -14t-22 -30t-14.5 -30t-25.5 -14q-22 0 -213.5 44t-250.5 44q-61 0 -115 -45t-54 -132q0 -25 18 -41.5t44 -16.5q27 0 40 10q20 15 33 35.5t22.5 31t29.5 10.5q21 -2 209 -45.5t244 -43.5zM810 301 q70 0 117 46.5t47 130.5q0 25 -20 42.5t-44 17.5q-28 0 -45 -14t-22 -30t-14.5 -30t-25.5 -14q-22 0 -213.5 44t-250.5 44q-61 0 -115 -45t-54 -132q0 -24 18 -40.5t44 -16.5q28 0 40 9q20 15 33 35.5t22.5 31t29.5 10.5q21 -2 209 -45.5t244 -43.5z" />
|
||||
<glyph unicode="≠" horiz-adv-x="1170" d="M351 -11q47 0 69 47l117 252h498q34 0 53 21t19 51q0 29 -19 50t-53 21h-435l118 257h317q34 0 52.5 21t18.5 50q0 30 -19 51t-52 21h-254l86 185q8 19 8 36q0 30 -22.5 49t-52.5 19q-50 0 -71 -47l-110 -242h-462q-34 0 -52.5 -20.5t-18.5 -49.5q0 -30 19 -51.5 t52 -21.5h399l-118 -257h-281q-34 0 -52.5 -21t-18.5 -50q0 -30 19 -51t52 -21h219l-90 -196q-10 -17 -8 -35q0 -30 21.5 -49t51.5 -19z" />
|
||||
<glyph unicode="≤" horiz-adv-x="1182" d="M160 9h847q28 0 43.5 17.5t15.5 41.5t-15.5 41.5t-43.5 17.5h-847q-28 0 -43 -17.5t-15 -41.5t15 -41.5t43 -17.5zM1032 230q28 0 46.5 21.5t18.5 49.5q0 41 -40 58l-793 350l791 332q42 17 42 59q0 29 -19.5 51t-49.5 22q-14 0 -28 -6l-881 -374q-66 -29 -66 -83 q0 -55 63 -81l885 -392q14 -7 31 -7z" />
|
||||
<glyph unicode="≥" horiz-adv-x="1182" d="M168 9h847q28 0 43.5 17.5t15.5 41.5t-15.5 41.5t-43.5 17.5h-847q-27 0 -42.5 -17.5t-15.5 -41.5t15.5 -41.5t42.5 -17.5zM164 240q14 0 29 6l881 374q65 29 65 83q0 56 -63 81l-885 392q-15 6 -30 6q-28 0 -47.5 -21.5t-19.5 -48.5q0 -41 42 -58l792 -350l-790 -332 q-43 -17 -43 -60q0 -29 20 -50.5t49 -21.5z" />
|
||||
<glyph unicode="◊" horiz-adv-x="1219" d="M607 99l-334 622l331 613h7l333 -620l-331 -615h-6zM606 -90q46 0 73 49l422 757l-412 752q-35 62 -79 62t-75 -56l-415 -758l410 -746q32 -60 76 -60z" />
|
||||
<glyph unicode="ff" horiz-adv-x="1332" d="M954 0q37 0 64 23.5t27 65.5v777h169q64 0 64 58q0 26 -15.5 43t-48.5 17h-169v78q0 81 6.5 128.5t25 73t42.5 33t67 7.5h85q30 0 46.5 20t16.5 48t-16.5 48.5t-45.5 20.5h-122q-134 0 -210 -75.5t-76 -254.5v-127h-131q-33 0 -49 -17t-16 -43q0 -25 16 -41.5t49 -16.5 h131v-777q0 -42 26.5 -65.5t63.5 -23.5zM326 0q37 0 64 23.5t27 65.5v777h169q64 0 64 58q0 26 -15.5 43t-48.5 17h-169v78q0 81 6.5 128.5t25 73t42.5 33t67 7.5h85q30 0 46.5 20t16.5 48t-16.5 48.5t-45.5 20.5h-122q-134 0 -210 -75.5t-76 -254.5v-127h-131 q-33 0 -49 -17t-16 -43q0 -25 16 -41.5t49 -16.5h131v-777q0 -42 26.5 -65.5t63.5 -23.5z" />
|
||||
<glyph unicode="fi" horiz-adv-x="1184" d="M941 1238q53 0 85 28t32 69q0 42 -32 70t-85 28q-52 0 -84.5 -28.5t-32.5 -69.5t32.5 -69t84.5 -28zM320 1q37 0 64 23.5t27 65.5v771h440v-770q0 -44 26 -67.5t63 -23.5t64.5 24.5t27.5 66.5v812q0 44 -28 67t-66 23h-527v32q0 178 19.5 230t100.5 52q20 0 55.5 -5.5 t54.5 -5.5q27 0 43.5 21t16.5 48q0 51 -48 64q-84 23 -161 23q-128 0 -195 -82.5t-67 -271.5v-105h-131q-33 0 -51 -19t-18 -46t18 -47t51 -20h131v-771q0 -42 26.5 -65.5t63.5 -23.5z" />
|
||||
<glyph unicode="fl" horiz-adv-x="1184" d="M320 1q37 0 64 23.5t27 65.5v771h154q33 0 51.5 20t18.5 47t-18.5 46t-51.5 19h-154v36q0 173 24.5 234.5t102.5 61.5h246v-1234q0 -44 25.5 -67.5t62.5 -23.5t65 24t28 67v1247q0 43 -26.5 66.5t-63.5 23.5q-34 0 -60 -20.5t-30 -56.5q-5 9 -22.5 23t-51 32t-93 30.5 t-131.5 12.5q-257 -2 -257 -351v-105h-131q-33 0 -51 -19t-18 -46t18 -47t51 -20h131v-771q0 -42 26.5 -65.5t63.5 -23.5z" />
|
||||
<glyph unicode="ffi" horiz-adv-x="1834" d="M1585 1225q53 0 85 30.5t32 79.5q0 50 -32 80.5t-84 30.5q-53 0 -85.5 -31t-32.5 -80t32 -79.5t85 -30.5zM1584 0q37 0 64.5 24.5t27.5 66.5v813q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66v-813q0 -44 26 -67.5t63 -23.5zM954 0q37 0 64 23.5t27 65.5v777h169 q64 0 64 58q0 26 -15.5 43t-48.5 17h-169v78q0 81 6.5 128.5t25 73t42.5 33t67 7.5h85q30 0 46.5 20t16.5 48t-16.5 48.5t-45.5 20.5h-122q-134 0 -210 -75.5t-76 -254.5v-127h-131q-33 0 -49 -17t-16 -43q0 -25 16 -41.5t49 -16.5h131v-777q0 -42 26.5 -65.5t63.5 -23.5z M326 0q37 0 64 23.5t27 65.5v777h169q64 0 64 58q0 26 -15.5 43t-48.5 17h-169v78q0 81 6.5 128.5t25 73t42.5 33t67 7.5h85q30 0 46.5 20t16.5 48t-16.5 48.5t-45.5 20.5h-122q-134 0 -210 -75.5t-76 -254.5v-127h-131q-33 0 -49 -17t-16 -43q0 -25 16 -41.5t49 -16.5h131 v-777q0 -42 26.5 -65.5t63.5 -23.5z" />
|
||||
<glyph unicode="ffl" horiz-adv-x="1837" d="M1586 0q37 0 64.5 24.5t27.5 66.5v1247q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66v-1247q0 -44 26 -67.5t63 -23.5zM954 0q37 0 64 23.5t27 65.5v777h169q64 0 64 58q0 26 -15.5 43t-48.5 17h-169v78q0 81 6.5 128.5t25 73t42.5 33t67 7.5h85q30 0 46.5 20 t16.5 48t-16.5 48.5t-45.5 20.5h-122q-134 0 -210 -75.5t-76 -254.5v-127h-131q-33 0 -49 -17t-16 -43q0 -25 16 -41.5t49 -16.5h131v-777q0 -42 26.5 -65.5t63.5 -23.5zM326 0q37 0 64 23.5t27 65.5v777h169q64 0 64 58q0 26 -15.5 43t-48.5 17h-169v78q0 81 6.5 128.5 t25 73t42.5 33t67 7.5h85q30 0 46.5 20t16.5 48t-16.5 48.5t-45.5 20.5h-122q-134 0 -210 -75.5t-76 -254.5v-127h-131q-33 0 -49 -17t-16 -43q0 -25 16 -41.5t49 -16.5h131v-777q0 -42 26.5 -65.5t63.5 -23.5z" />
|
||||
<glyph horiz-adv-x="608" d="M281 302h43q38 0 53 43l138 403q3 12 3 18q0 35 -37 38h-85q-64 -2 -73 -56l-66 -403q-1 -3 -1 -12q0 -30 25 -31z" />
|
||||
<glyph horiz-adv-x="1215" d="M960 1225q53 0 85 30.5t32 79.5q0 50 -32 80.5t-84 30.5q-53 0 -85.5 -30.5t-32.5 -80.5q0 -49 32 -79.5t85 -30.5zM724 -378q77 0 131.5 7.5t91.5 28t58 44.5t32.5 68.5t14.5 88t3 114.5v931q0 42 -26.5 66t-62.5 24q-37 0 -64.5 -24t-27.5 -66v-967q0 -43 -1.5 -69.5 t-8.5 -48t-15.5 -32t-28 -17.5t-41 -8.5t-58.5 -1.5q-29 0 -45.5 -20.5t-16.5 -48.5t17 -48.5t48 -20.5zM326 0q37 0 64 23.5t27 65.5v777h169q64 0 64 58q0 26 -15.5 43t-48.5 17h-169v78q0 81 6.5 128.5t25 73t42.5 33t67 7.5h85q30 0 46.5 20t16.5 48t-16.5 48.5 t-45.5 20.5h-122q-134 0 -210 -75.5t-76 -254.5v-127h-131q-33 0 -49 -17t-16 -43q0 -25 16 -41.5t49 -16.5h131v-777q0 -42 26.5 -65.5t63.5 -23.5z" />
|
||||
<glyph horiz-adv-x="1347" d="M280 2l389 276l397 -276l-144 459l391 294h-485l-159 460l-150 -460h-485l389 -294zM485 405v267h106l170 -149v149h106v-267h-106l-170 147v-147h-106z" />
|
||||
<glyph horiz-adv-x="485" d="M240 0q37 0 65 24t28 67v813q0 42 -27 66t-63 24q-37 0 -64 -24t-27 -66v-813q0 -44 25.5 -67.5t62.5 -23.5zM239 1168q53 0 84.5 31t31.5 76q0 42 -32 74t-84 32t-83.5 -32t-31.5 -74q0 -45 31 -76t84 -31z" />
|
||||
<glyph horiz-adv-x="600" d="M282 411q53 0 84.5 32t31.5 77q0 44 -32 75.5t-84 31.5q-53 0 -85.5 -32t-32.5 -75q0 -45 32.5 -77t85.5 -32z" />
|
||||
<glyph horiz-adv-x="600" d="M80 625l611 201q49 16 49 65q0 29 -19 52t-49 23q-11 0 -26 -5l-610 -199q-53 -17 -53 -70q0 -29 19 -50.5t50 -21.5q11 0 28 5z" />
|
||||
<hkern u1="0" u2="1" k="108" />
|
||||
<hkern u1="0" u2="0" k="-29" />
|
||||
<hkern u1="1" u2="9" k="71" />
|
||||
<hkern u1="1" u2="8" k="50" />
|
||||
<hkern u1="1" u2="7" k="100" />
|
||||
<hkern u1="1" u2="6" k="71" />
|
||||
<hkern u1="1" u2="5" k="71" />
|
||||
<hkern u1="1" u2="4" k="71" />
|
||||
<hkern u1="1" u2="3" k="71" />
|
||||
<hkern u1="1" u2="1" k="165" />
|
||||
<hkern u1="1" u2="0" k="108" />
|
||||
<hkern u1="1" u2="-" k="108" />
|
||||
<hkern u1="7" u2="6" k="108" />
|
||||
<hkern u1="7" u2="4" k="193" />
|
||||
<hkern u1="7" u2="-" k="57" />
|
||||
<hkern u1="D" u2="J" k="79" />
|
||||
<hkern u1="F" u2="r" k="79" />
|
||||
<hkern u1="F" u2="g" k="28" />
|
||||
<hkern u1="F" u2="J" k="251" />
|
||||
<hkern u1="F" u2="-" k="179" />
|
||||
<hkern u1="H" u2="T" k="64" />
|
||||
<hkern u1="H" u2="O" k="29" />
|
||||
<hkern u1="L" u2="”" k="475" />
|
||||
<hkern u1="L" u2="“" k="466" />
|
||||
<hkern u1="L" u2="’" k="382" />
|
||||
<hkern u1="L" u2="‘" k="337" />
|
||||
<hkern u1="L" u2="-" k="287" />
|
||||
<hkern u1="c" u2="k" k="71" />
|
||||
<hkern u1="e" u2="”" k="108" />
|
||||
<hkern u1="e" u2="“" k="108" />
|
||||
<hkern u1="e" u2="’" k="36" />
|
||||
<hkern u1="e" u2="x" k="29" />
|
||||
<hkern u1="f" u2="”" k="60" />
|
||||
<hkern u1="f" u2="’" k="25" />
|
||||
<hkern u1="f" u2="t" k="71" />
|
||||
<hkern u1="f" u2="o" k="29" />
|
||||
<hkern u1="f" u2="f" k="76" />
|
||||
<hkern u1="n" u2="’" k="79" />
|
||||
<hkern u1="x" u2="-" k="115" />
|
||||
<hkern u1="‘" u2="‘" k="183" />
|
||||
<hkern u1="’" u2="’" k="183" />
|
||||
<hkern u1="’" u2="t" k="40" />
|
||||
<hkern u1="’" u2="r" k="77" />
|
||||
<hkern u1="’" u2="d" k="211" />
|
||||
</font>
|
||||
</defs></svg>
|
||||
|
After Width: | Height: | Size: 210 KiB |
|
After Width: | Height: | Size: 115 KiB |
|
|
@ -0,0 +1,88 @@
|
|||
package com.firstvoices.keyboards;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Typeface;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.CheckBox;
|
||||
import android.widget.CompoundButton;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
class FVKeyboardListAdapter extends ArrayAdapter<FVShared.FVKeyboard> {
|
||||
|
||||
Typeface listFont;
|
||||
|
||||
private static class ViewHolder {
|
||||
TextView text1;
|
||||
ImageButton helpButton;
|
||||
CheckBox checkBox;
|
||||
}
|
||||
|
||||
FVKeyboardListAdapter(Context context, FVShared.FVRegion regionData) {
|
||||
super(context, 0, regionData.keyboards);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
|
||||
ViewHolder holder;
|
||||
|
||||
FVShared.FVKeyboard keyboard = getItem(position);
|
||||
|
||||
if(convertView == null) {
|
||||
convertView = LayoutInflater.from(getContext()).inflate(R.layout.keyboard_row_layout, parent, false);
|
||||
holder = new ViewHolder();
|
||||
holder.text1 = convertView.findViewById(R.id.text1);
|
||||
holder.checkBox = convertView.findViewById(R.id.checkBox1);
|
||||
holder.helpButton = convertView.findViewById(R.id.buttonHelp);
|
||||
holder.helpButton.setOnClickListener(new FVKeyboardListAdapter.FVOnClickHelpListener());
|
||||
holder.checkBox.setOnCheckedChangeListener(new FVKeyboardListAdapter.FVOnCheckedChangeListener());
|
||||
convertView.setTag(holder);
|
||||
|
||||
if (listFont != null) {
|
||||
holder.text1.setTypeface(listFont, Typeface.BOLD);
|
||||
}
|
||||
} else {
|
||||
holder = (ViewHolder) convertView.getTag();
|
||||
}
|
||||
|
||||
if(keyboard != null) {
|
||||
holder.text1.setText(keyboard.name);
|
||||
holder.helpButton.setTag(keyboard.id);
|
||||
holder.checkBox.setTag(keyboard.id);
|
||||
holder.checkBox.setChecked(FVShared.getInstance().checkState(keyboard.id));
|
||||
}
|
||||
|
||||
return convertView;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean areAllItemsEnabled() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isEnabled(int position) {
|
||||
return true;
|
||||
}
|
||||
|
||||
private class FVOnClickHelpListener implements ImageButton.OnClickListener {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
FVShared.getInstance().helpAction(getContext(), (String)v.getTag());
|
||||
}
|
||||
}
|
||||
|
||||
private class FVOnCheckedChangeListener implements CheckBox.OnCheckedChangeListener {
|
||||
@Override
|
||||
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
|
||||
FVShared.getInstance().setCheckState((String)buttonView.getTag(), isChecked);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
package com.firstvoices.keyboards;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Typeface;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
final class FVRegionListAdapter extends ArrayAdapter<FVShared.FVRegion> {
|
||||
|
||||
Typeface listFont;
|
||||
|
||||
private static class ViewHolder {
|
||||
TextView text1, text2;
|
||||
}
|
||||
|
||||
FVRegionListAdapter(Context context, FVShared.FVRegionList regions) {
|
||||
super(context, 0, regions);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
|
||||
ViewHolder holder;
|
||||
FVShared.FVRegion region = getItem(position);
|
||||
|
||||
if(convertView == null) {
|
||||
convertView = LayoutInflater.from(getContext()).inflate(R.layout.region_row_layout, parent, false);
|
||||
holder = new ViewHolder();
|
||||
holder.text1 = convertView.findViewById(R.id.text1);
|
||||
holder.text2 = convertView.findViewById(R.id.text2);
|
||||
|
||||
if (listFont != null) {
|
||||
holder.text1.setTypeface(listFont, Typeface.BOLD);
|
||||
holder.text2.setTypeface(listFont, Typeface.NORMAL);
|
||||
}
|
||||
convertView.setTag(holder);
|
||||
} else {
|
||||
holder = (ViewHolder) convertView.getTag();
|
||||
}
|
||||
|
||||
if(region != null) {
|
||||
|
||||
holder.text1.setText(region.name);
|
||||
|
||||
int kbCount = region.keyboards.size();
|
||||
int activeKbCount = FVShared.getInstance().activeKeyboardCount(region);
|
||||
|
||||
holder.text2.setText(String.format(Locale.US, "%d/%d", activeKbCount, kbCount));
|
||||
}
|
||||
|
||||
return convertView;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean areAllItemsEnabled() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isEnabled(int position) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,406 @@
|
|||
package com.firstvoices.keyboards;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.res.AssetManager;
|
||||
import android.net.Uri;
|
||||
import android.util.Log;
|
||||
import com.tavultesoft.kmea.KMManager;
|
||||
import java.io.BufferedReader;
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.ObjectInputStream;
|
||||
import java.io.ObjectOutputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
|
||||
final class FVShared {
|
||||
private static FVShared instance = null;
|
||||
|
||||
private static final String FVLoadedKeyboardList = "loaded_keyboards.dat";
|
||||
|
||||
// Keys from earlier versions of app, used only in the upgrade process
|
||||
private static final String FVUpgrade_KeyboardList = "keyboard_list.dat";
|
||||
private static final String FVUpgrade_KeyboardListHashKey = "FVKeyboardListHash";
|
||||
private static final String FVUpgrade_Preferences = "FVPreferences";
|
||||
private static final String FVUpgrade_KeyboardFilenameKey = "FVKeyboardFilename";
|
||||
private static final String FVUpgrade_KeyboardCheckStateKey = "FVKeyboardCheckState";
|
||||
|
||||
private static final String FVKeyboardHelpLink = "http://help.keyman.com/keyboard/";
|
||||
|
||||
/// Describes a keyboard used in FirstVoices Keyboards
|
||||
static class FVKeyboard {
|
||||
final String id, name, legacyId;
|
||||
FVKeyboard(String id, String name, String legacyId) {
|
||||
this.id = id;
|
||||
this.name = name;
|
||||
this.legacyId = legacyId;
|
||||
}
|
||||
}
|
||||
|
||||
static class FVKeyboardList extends ArrayList<FVKeyboard> {
|
||||
FVKeyboardList() {
|
||||
super();
|
||||
}
|
||||
}
|
||||
|
||||
/// Keyboards are grouped by region in the keyboards.csv data
|
||||
/// The order of the keyboards in the csv is the final order
|
||||
/// shown everywhere in the app
|
||||
static class FVRegion {
|
||||
final String name;
|
||||
final FVKeyboardList keyboards;
|
||||
FVRegion(String name) {
|
||||
this.name = name;
|
||||
this.keyboards = new FVKeyboardList();
|
||||
}
|
||||
}
|
||||
|
||||
static class FVRegionList extends ArrayList<FVRegion> {
|
||||
FVRegionList() {
|
||||
super();
|
||||
}
|
||||
|
||||
FVRegion findRegion(String name) {
|
||||
for(FVRegion r : this) {
|
||||
if(r.name.equals(name)) {
|
||||
return r;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
static class FVLoadedKeyboardList extends ArrayList<String> {
|
||||
FVLoadedKeyboardList() {
|
||||
super();
|
||||
}
|
||||
}
|
||||
|
||||
FVShared(Context context) {
|
||||
// We only want a single instance
|
||||
assert(instance == null);
|
||||
instance = this;
|
||||
|
||||
this.context = context.getApplicationContext();
|
||||
this.regionList = loadRegionList();
|
||||
this.loadedKeyboards = loadLoadedKeyboardList();
|
||||
}
|
||||
|
||||
private final Context context;
|
||||
private final FVRegionList regionList;
|
||||
private final FVLoadedKeyboardList loadedKeyboards;
|
||||
|
||||
static FVShared getInstance() {
|
||||
// This 'singleton' requires initialization, so
|
||||
// we cannot lazily instanatiate.
|
||||
assert(instance != null);
|
||||
return instance;
|
||||
}
|
||||
|
||||
private FVRegionList loadRegionList() {
|
||||
FVRegionList list = new FVRegionList();
|
||||
try {
|
||||
InputStream inputStream = context.getAssets().open("keyboards.csv");
|
||||
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
|
||||
|
||||
reader.readLine(); // skip header row
|
||||
String line = reader.readLine();
|
||||
|
||||
while (line != null) {
|
||||
while (line.contains(",,"))
|
||||
line = line.replace(",,", ", ,");
|
||||
|
||||
String[] values = line.split(",");
|
||||
if (values.length > 0) {
|
||||
// Columns: shortname,id,name,region,legacyId
|
||||
String kbId = values[1];
|
||||
String kbName = values[2];
|
||||
String regionName = values[3];
|
||||
String legacyId = values[4];
|
||||
|
||||
FVRegion region = list.findRegion(regionName);
|
||||
if(region == null) {
|
||||
region = new FVRegion(regionName);
|
||||
list.add(region);
|
||||
}
|
||||
|
||||
FVKeyboard keyboard = new FVKeyboard(kbId, kbName, legacyId);
|
||||
|
||||
region.keyboards.add(keyboard);
|
||||
}
|
||||
|
||||
line = reader.readLine();
|
||||
}
|
||||
|
||||
inputStream.close();
|
||||
}
|
||||
catch (Exception e) {
|
||||
Log.e("createKeyboardList", "Error: " + e);
|
||||
// We'll return a malformed list for now in this situation
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
|
||||
private FVLoadedKeyboardList loadLoadedKeyboardList() {
|
||||
FVLoadedKeyboardList data = new FVLoadedKeyboardList();
|
||||
File file = new File(context.getDir("userdata", Context.MODE_PRIVATE), FVLoadedKeyboardList);
|
||||
if (file.exists()) {
|
||||
try {
|
||||
ObjectInputStream inputStream = new ObjectInputStream(new FileInputStream(file));
|
||||
data = (FVLoadedKeyboardList) inputStream.readObject();
|
||||
inputStream.close();
|
||||
}
|
||||
catch (Exception e) {
|
||||
Log.e("loadData", "Error: " + e);
|
||||
}
|
||||
}
|
||||
return data;
|
||||
}
|
||||
|
||||
private void saveLoadedKeyboardList() {
|
||||
try {
|
||||
File file = new File(context.getDir("userdata", Context.MODE_PRIVATE), FVLoadedKeyboardList);
|
||||
ObjectOutputStream outputStream = new ObjectOutputStream(new FileOutputStream(file));
|
||||
outputStream.writeObject(loadedKeyboards);
|
||||
outputStream.flush();
|
||||
outputStream.close();
|
||||
}
|
||||
catch (Exception e) {
|
||||
Log.e("saveLoadedKeyboardList", "Error: " + e);
|
||||
}
|
||||
|
||||
updateActiveKeyboardsList();
|
||||
}
|
||||
|
||||
FVRegionList getRegionList() {
|
||||
return regionList;
|
||||
}
|
||||
|
||||
int activeKeyboardCount() {
|
||||
return loadedKeyboards.size();
|
||||
}
|
||||
|
||||
int activeKeyboardCount(FVRegion region) {
|
||||
int count = 0;
|
||||
for (FVKeyboard keyboard : region.keyboards) {
|
||||
if (loadedKeyboards.contains(keyboard.id)) count++;
|
||||
}
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
boolean checkState(String id) {
|
||||
return loadedKeyboards.contains(id);
|
||||
}
|
||||
|
||||
void setCheckState(String id, boolean isChecked) {
|
||||
// Remove the keyboard from the list first
|
||||
loadedKeyboards.remove(id);
|
||||
|
||||
if(isChecked) {
|
||||
loadedKeyboards.add(id);
|
||||
}
|
||||
|
||||
saveLoadedKeyboardList();
|
||||
}
|
||||
|
||||
void helpAction(Context localContext, String id) {
|
||||
String helpUrl = String.format("%s%s", FVKeyboardHelpLink, id);
|
||||
Intent i = new Intent(Intent.ACTION_VIEW);
|
||||
i.setData(Uri.parse(helpUrl));
|
||||
localContext.startActivity(i);
|
||||
}
|
||||
|
||||
private void updateActiveKeyboardsList() {
|
||||
// Clear existing active keyboards list
|
||||
|
||||
ArrayList<HashMap<String, String>> activeKbList = KMManager.getKeyboardsList(context);
|
||||
if (activeKbList != null) {
|
||||
int len = activeKbList.size();
|
||||
for (int i = len-1; i >= 0; i--)
|
||||
KMManager.removeKeyboard(context, i);
|
||||
}
|
||||
|
||||
// Recreate active keyboards list
|
||||
for(FVRegion region : regionList) {
|
||||
for(FVKeyboard keyboard : region.keyboards) {
|
||||
if(loadedKeyboards.contains(keyboard.id)) {
|
||||
// Load the .keyboard_info file and find its first language code
|
||||
HashMap<String, String> kbInfo = new HashMap<>();
|
||||
kbInfo.put(KMManager.KMKey_PackageID, keyboard.id); //TODO: we want to share keyboard build scripts between ios and android; can we do this?
|
||||
kbInfo.put(KMManager.KMKey_KeyboardID, keyboard.id);
|
||||
kbInfo.put(KMManager.KMKey_LanguageID, "en"); //TODO: use language code from kmp.json
|
||||
kbInfo.put(KMManager.KMKey_KeyboardName, keyboard.name);
|
||||
kbInfo.put(KMManager.KMKey_LanguageName, keyboard.name);
|
||||
kbInfo.put(KMManager.KMKey_KeyboardVersion, "1.0"); //TODO: use keyboard version from kmp.json
|
||||
kbInfo.put(KMManager.KMKey_Font, "NotoSansCanadianAboriginal.ttf");
|
||||
kbInfo.put(KMManager.KMKey_CustomKeyboard, "Y");
|
||||
kbInfo.put(KMManager.KMKey_CustomHelpLink, String.format("%s%s", FVKeyboardHelpLink, keyboard.id));
|
||||
KMManager.addKeyboard(context, kbInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
activeKbList = KMManager.getKeyboardsList(context);
|
||||
if (activeKbList != null) {
|
||||
if (activeKbList.size() > 0) {
|
||||
if (KMManager.getCurrentKeyboardIndex(context) < 0)
|
||||
KMManager.setKeyboard(context, 0);
|
||||
}
|
||||
else {
|
||||
// Add a default keyboard in if none are available
|
||||
HashMap<String, String> kbInfo = new HashMap<>();
|
||||
kbInfo.put(KMManager.KMKey_KeyboardID, KMManager.KMDefault_KeyboardID);
|
||||
kbInfo.put(KMManager.KMKey_LanguageID, KMManager.KMDefault_LanguageID);
|
||||
kbInfo.put(KMManager.KMKey_KeyboardName, KMManager.KMDefault_KeyboardName);
|
||||
kbInfo.put(KMManager.KMKey_LanguageName, KMManager.KMDefault_LanguageName);
|
||||
//kbInfo.put(KMManager.KMKey_KeyboardVersion, KMManager.getLatestKeyboardFileVersion(context, KMManager.KMDefault_KeyboardID));
|
||||
kbInfo.put(KMManager.KMKey_Font, KMManager.KMDefault_KeyboardFont);
|
||||
KMManager.addKeyboard(context, kbInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private String getResourceRoot() {
|
||||
return context.getDir("data", 0).toString() + File.separator;
|
||||
}
|
||||
|
||||
private String getPackagesDir() {
|
||||
return getResourceRoot() + "packages" + File.separator;
|
||||
}
|
||||
|
||||
private void createDir(File dir) throws IOException {
|
||||
if (dir.exists()) {
|
||||
if (!dir.isDirectory()) {
|
||||
throw new IOException("Cannot create directory, a file is in the way");
|
||||
}
|
||||
} else {
|
||||
if(!dir.mkdirs() || !dir.isDirectory()) {
|
||||
throw new IOException("Unable to create directory");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void copyAssets(String assetSource, String dest) throws IOException {
|
||||
AssetManager assetManager = context.getAssets();
|
||||
String[] items = assetManager.list(assetSource);
|
||||
if(items == null) {
|
||||
// Nothing found to copy
|
||||
return;
|
||||
}
|
||||
|
||||
File dest_dir = new File(dest);
|
||||
createDir(dest_dir);
|
||||
|
||||
for(String item : items) {
|
||||
String assetItem = assetSource + File.separator + item;
|
||||
String destItem = dest + File.separator + item;
|
||||
String[] subItems = assetManager.list(assetItem);
|
||||
if(subItems == null || subItems.length == 0) {
|
||||
// Is a file or empty folder, try and copy it
|
||||
InputStream in = assetManager.open(assetItem);
|
||||
OutputStream out = new FileOutputStream(destItem);
|
||||
|
||||
byte[] buf = new byte[1024];
|
||||
int len;
|
||||
while ((len = in.read(buf)) > 0)
|
||||
out.write(buf, 0, len);
|
||||
in.close();
|
||||
out.close();
|
||||
} else {
|
||||
// Is a folder,
|
||||
copyAssets(assetItem, dest + "/" + item);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void preloadPackages() {
|
||||
try {
|
||||
copyAssets("packages", getPackagesDir());
|
||||
}
|
||||
catch (Exception e) {
|
||||
Log.e("preloadPackages", "Error: " + e);
|
||||
// We'll squawk in this situation
|
||||
}
|
||||
}
|
||||
|
||||
/// Upgrades from an earlier vesion, converting data structures
|
||||
/// The data structures in earlier versions were a bit messy
|
||||
@SuppressWarnings("unchecked")
|
||||
void upgradeTo12() {
|
||||
File file = new File(context.getDir("userdata", Context.MODE_PRIVATE), FVUpgrade_KeyboardList);
|
||||
if(!file.exists()) {
|
||||
// New install, or already upgraded to 12.0
|
||||
return;
|
||||
}
|
||||
|
||||
// Remove legacy preferences that are no longer required.
|
||||
SharedPreferences prefs = context.getSharedPreferences(FVUpgrade_Preferences, Context.MODE_PRIVATE);
|
||||
SharedPreferences.Editor editor = prefs.edit();
|
||||
editor.remove(FVUpgrade_KeyboardListHashKey);
|
||||
editor.apply();
|
||||
|
||||
ArrayList<ArrayList<HashMap<String, String>>> keyboardList;
|
||||
|
||||
try {
|
||||
ObjectInputStream inputStream = new ObjectInputStream(new FileInputStream(file));
|
||||
keyboardList = (ArrayList<ArrayList<HashMap<String, String>>>) inputStream.readObject();
|
||||
inputStream.close();
|
||||
}
|
||||
catch (Exception e) {
|
||||
// Unable to load the data from earlier version. Log the issue, then we will
|
||||
// just delete the file and give up on it. The user will have to reconfigure
|
||||
// their keyboards but that's not the end of the world.
|
||||
Log.e("upgradeTo12", "Error: " + e);
|
||||
if(!file.delete()) {
|
||||
Log.w("upgradeTo12", "Could not remove legacy data file "+FVUpgrade_KeyboardList);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
// We've loaded the data, so delete the legacy file.
|
||||
if(!file.delete()) {
|
||||
Log.w("upgradeTo12", "Could not remove legacy data file "+FVUpgrade_KeyboardList);
|
||||
}
|
||||
|
||||
// Iterate through the keyboards and prepare the new active keyboard list
|
||||
loadedKeyboards.clear();
|
||||
|
||||
int len1 = keyboardList.size();
|
||||
for (int i = 0; i < len1; i+=2) {
|
||||
ArrayList<HashMap<String, String>> kbSubList = keyboardList.get(i+1);
|
||||
int len2 = kbSubList.size();
|
||||
for (int j = 0; j < len2; j++) {
|
||||
HashMap<String, String> kbDict = kbSubList.get(j);
|
||||
String checkState = kbDict.get(FVUpgrade_KeyboardCheckStateKey);
|
||||
String kbFilename = kbDict.get(FVUpgrade_KeyboardFilenameKey);
|
||||
|
||||
if (checkState != null && kbFilename != null && checkState.equals("Y")) {
|
||||
// The keyboard is loaded, so find the equivalent entry in the
|
||||
// legacyId column
|
||||
boolean found = false;
|
||||
for (FVRegion region : regionList) {
|
||||
for (FVKeyboard keyboard : region.keyboards) {
|
||||
if (keyboard.legacyId.equalsIgnoreCase(kbFilename)) {
|
||||
loadedKeyboards.add(keyboard.id);
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (found) break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
saveLoadedKeyboardList();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,74 @@
|
|||
package com.firstvoices.keyboards;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.Typeface;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.view.Window;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.ListView;
|
||||
import android.widget.TextView;
|
||||
|
||||
public final class KeyboardListActivity extends Activity {
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
final Context context = this;
|
||||
|
||||
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
|
||||
setContentView(R.layout.list_layout);
|
||||
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.keyboard_title_layout);
|
||||
View titleDivider = getWindow().getDecorView().findViewById(getResources().getIdentifier("titleDivider", "id", "android"));
|
||||
titleDivider.setBackgroundColor(Color.rgb(170, 18, 37));
|
||||
|
||||
TextView title = findViewById(R.id.bar_title);
|
||||
title.setText(getIntent().getStringExtra("regionName"));
|
||||
|
||||
ListView listView = findViewById(R.id.listView);
|
||||
|
||||
int regionIndex = getIntent().getIntExtra("regionIndex", 0);
|
||||
|
||||
FVShared.FVRegionList regionList = FVShared.getInstance().getRegionList();
|
||||
FVShared.FVRegion region = regionList.get(regionIndex);
|
||||
|
||||
FVKeyboardListAdapter listAdapter = new FVKeyboardListAdapter(context, region);
|
||||
listAdapter.listFont = Typeface.createFromAsset(getAssets(), "fonts/NotoSansCanadianAboriginal.ttf");
|
||||
listView.setAdapter(listAdapter);
|
||||
listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
|
||||
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
|
||||
@Override
|
||||
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
|
||||
//
|
||||
}
|
||||
});
|
||||
|
||||
final ImageButton backButton = findViewById(R.id.left_button);
|
||||
backButton.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
showRegionList();
|
||||
finish();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackPressed() {
|
||||
showRegionList();
|
||||
super.onBackPressed();
|
||||
}
|
||||
|
||||
private void showRegionList() {
|
||||
// Return to region list with scroll position and selection set as per history
|
||||
Intent i = new Intent(this, RegionListActivity.class);
|
||||
i.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
|
||||
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||
i.putExtra("listPosition", getIntent().getIntExtra("listPosition", 0));
|
||||
i.putExtra("offsetY", getIntent().getIntExtra("offsetY", 0));
|
||||
startActivity(i);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,162 @@
|
|||
package com.firstvoices.keyboards;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
//import android.support.v8.app.ActionBarActivity;
|
||||
import android.view.View;
|
||||
import android.webkit.JavascriptInterface;
|
||||
import android.webkit.WebSettings;
|
||||
import android.webkit.WebView;
|
||||
import android.webkit.WebViewClient;
|
||||
import com.crashlytics.android.Crashlytics;
|
||||
import io.fabric.sdk.android.Fabric;
|
||||
import androidx.appcompat.app.AppCompatActivity;
|
||||
|
||||
import com.tavultesoft.kmea.*;
|
||||
|
||||
public class MainActivity extends AppCompatActivity {
|
||||
|
||||
@SuppressWarnings("SetJavascriptEnabled")
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
Fabric.with(this, new Crashlytics());
|
||||
setContentView(R.layout.activity_main);
|
||||
|
||||
new FVShared(this);
|
||||
|
||||
FVShared.getInstance().upgradeTo12();
|
||||
FVShared.getInstance().preloadPackages();
|
||||
|
||||
if (BuildConfig.DEBUG) {
|
||||
KMManager.setDebugMode(true);
|
||||
}
|
||||
KMManager.initialize(getApplicationContext(), KMManager.KeyboardType.KEYBOARD_TYPE_INAPP);
|
||||
|
||||
final Context context = this;
|
||||
final String htmlPath = "file:///android_asset/setup/main.html";
|
||||
WebView webView = findViewById(R.id.webView);
|
||||
webView.addJavascriptInterface(new JSHandler(context), "jsInterface");
|
||||
webView.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
|
||||
webView.getSettings().setJavaScriptEnabled(true);
|
||||
webView.getSettings().setSupportZoom(false);
|
||||
webView.getSettings().setUseWideViewPort(true);
|
||||
webView.getSettings().setLoadWithOverviewMode(true);
|
||||
webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
|
||||
/*
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
|
||||
webView.setWebContentsDebuggingEnabled(true);
|
||||
}*/
|
||||
|
||||
webView.setWebViewClient(new WebViewClient() {
|
||||
@Override
|
||||
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
|
||||
// Handle the error
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldOverrideUrlLoading(WebView view, String url) {
|
||||
if (url.equals(htmlPath)) {
|
||||
view.loadUrl(url);
|
||||
}
|
||||
else {
|
||||
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
|
||||
startActivity(i);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageFinished(WebView view, String url) {
|
||||
if (didCompleteSelectKeyboard())
|
||||
view.loadUrl("javascript:setCheckBox1On();");
|
||||
else
|
||||
view.loadUrl("javascript:setCheckBox1Off();");
|
||||
|
||||
if (didCompleteSetup())
|
||||
view.loadUrl("javascript:setCheckBox2On();");
|
||||
else
|
||||
view.loadUrl("javascript:setCheckBox2Off();");
|
||||
}
|
||||
});
|
||||
|
||||
webView.loadUrl(htmlPath);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
|
||||
WebView webView = findViewById(R.id.webView);
|
||||
if (webView != null) {
|
||||
if (didCompleteSelectKeyboard())
|
||||
webView.loadUrl("javascript:setCheckBox1On();");
|
||||
else
|
||||
webView.loadUrl("javascript:setCheckBox1Off();");
|
||||
|
||||
if (didCompleteSetup())
|
||||
webView.loadUrl("javascript:setCheckBox2On();");
|
||||
else
|
||||
webView.loadUrl("javascript:setCheckBox2Off();");
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
// Inflate the menu; this adds items to the action bar if it is present.
|
||||
getMenuInflater().inflate(R.menu.menu_main, menu);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(MenuItem item) {
|
||||
// Handle action bar item clicks here. The action bar will
|
||||
// automatically handle clicks on the Home/Up button, so long
|
||||
// as you specify a parent activity in AndroidManifest.xml.
|
||||
int id = item.getItemId();
|
||||
|
||||
//noinspection SimplifiableIfStatement
|
||||
if (id == R.id.action_settings) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
*/
|
||||
|
||||
private static final class JSHandler {
|
||||
final private Context context;
|
||||
|
||||
JSHandler(Context context) { this.context = context; }
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
@JavascriptInterface
|
||||
public void showSetup() {
|
||||
Intent setupIntent = new Intent(context, SetupActivity.class);
|
||||
context.startActivity(setupIntent);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
@JavascriptInterface
|
||||
public void showRegionList() {
|
||||
Intent i = new Intent(context, RegionListActivity.class);
|
||||
i.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
|
||||
context.startActivity(i);
|
||||
}
|
||||
}
|
||||
|
||||
private boolean didCompleteSelectKeyboard() {
|
||||
return FVShared.getInstance().activeKeyboardCount() > 0;
|
||||
}
|
||||
|
||||
private boolean didCompleteSetup() {
|
||||
if (!SetupActivity.isEnabledSystemWide(this))
|
||||
return false;
|
||||
|
||||
return SetupActivity.isDefaultKB(this);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,63 @@
|
|||
package com.firstvoices.keyboards;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.Typeface;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
import android.view.Window;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.ListView;
|
||||
|
||||
public final class RegionListActivity extends Activity {
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
final Context context = this;
|
||||
final FVShared.FVRegionList regionList = FVShared.getInstance().getRegionList();
|
||||
|
||||
// Setup layout
|
||||
|
||||
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
|
||||
setContentView(R.layout.list_layout);
|
||||
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.region_title_layout);
|
||||
View titleDivider = getWindow().getDecorView().findViewById(getResources().getIdentifier("titleDivider", "id", "android"));
|
||||
titleDivider.setBackgroundColor(Color.rgb(170, 18, 37));
|
||||
|
||||
FVRegionListAdapter listAdapter = new FVRegionListAdapter(context, regionList);
|
||||
listAdapter.listFont = Typeface.createFromAsset(getAssets(), "fonts/NotoSansCanadianAboriginal.ttf");
|
||||
final ListView listView = findViewById(R.id.listView);
|
||||
listView.setAdapter(listAdapter);
|
||||
|
||||
listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
|
||||
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
|
||||
@Override
|
||||
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
|
||||
Intent i = new Intent(context, KeyboardListActivity.class);
|
||||
i.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
|
||||
i.putExtra("regionName", regionList.get(position).name);
|
||||
i.putExtra("regionIndex", position);
|
||||
|
||||
// State to allow return to previous position
|
||||
int listPosition = listView.getFirstVisiblePosition();
|
||||
i.putExtra("listPosition", listPosition);
|
||||
View v = listView.getChildAt(0);
|
||||
int offsetY = (v == null) ? 0 : v.getTop();
|
||||
i.putExtra("offsetY", offsetY);
|
||||
startActivity(i);
|
||||
}
|
||||
});
|
||||
listView.setSelectionFromTop(getIntent().getIntExtra("listPosition", 0), getIntent().getIntExtra("offsetY", 0));
|
||||
|
||||
final ImageButton backButton = findViewById(R.id.left_button);
|
||||
backButton.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
finish();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,152 @@
|
|||
package com.firstvoices.keyboards;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Color;
|
||||
import android.os.Bundle;
|
||||
import android.provider.Settings;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.view.Window;
|
||||
import android.view.inputmethod.InputMethodInfo;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.ListView;
|
||||
import android.widget.SimpleAdapter;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
public class SetupActivity extends Activity {
|
||||
|
||||
private ListView listView = null;
|
||||
private SimpleAdapter listAdapter = null;
|
||||
private ArrayList<HashMap<String, String>> list = null;
|
||||
|
||||
private final String iconKey = "icon";
|
||||
private final String textKey = "text";
|
||||
private final String isEnabledKey = "isEnabled";
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
final Context context = this;
|
||||
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
|
||||
setContentView(R.layout.setup_list_layout);
|
||||
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.setup_title_layout);
|
||||
View titleDivider = getWindow().getDecorView().findViewById(getResources().getIdentifier("titleDivider", "id", "android"));
|
||||
titleDivider.setBackgroundColor(Color.rgb(170, 18, 37));
|
||||
listView = findViewById(R.id.listView);
|
||||
|
||||
final ImageButton closeButton = findViewById(R.id.close_button);
|
||||
closeButton.setOnClickListener(new View.OnClickListener() {
|
||||
public void onClick(View v) {
|
||||
finish();
|
||||
}
|
||||
});
|
||||
|
||||
list = new ArrayList<>();
|
||||
HashMap<String, String> hashMap;
|
||||
|
||||
hashMap = new HashMap<>();
|
||||
hashMap.put(iconKey, "0");
|
||||
hashMap.put(textKey, "Enable 'FirstVoices'");
|
||||
hashMap.put(isEnabledKey, "true");
|
||||
list.add(hashMap);
|
||||
|
||||
hashMap = new HashMap<>();
|
||||
hashMap.put(iconKey, "0");
|
||||
hashMap.put(textKey, "Choose 'FirstVoices' as current input method");
|
||||
hashMap.put(isEnabledKey, "false");
|
||||
list.add(hashMap);
|
||||
|
||||
String[] from = new String[]{ iconKey, textKey };
|
||||
int[] to = new int[] { R.id.left_icon, R.id.text };
|
||||
listAdapter = new SimpleAdapter(context, list, R.layout.setup_row_layout, from, to);
|
||||
listView.setAdapter(listAdapter);
|
||||
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
|
||||
@Override
|
||||
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
|
||||
if (position == 0) {
|
||||
startActivity(new Intent(Settings.ACTION_INPUT_METHOD_SETTINGS));
|
||||
}
|
||||
else if (position == 1) {
|
||||
InputMethodManager imManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
|
||||
if(imManager != null) {
|
||||
imManager.showInputMethodPicker();
|
||||
} else {
|
||||
Log.e("setupActivity.onCreate", "Failed to get system service INPUT_METHOD_SERVICE");
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPause() {
|
||||
super.onPause();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onWindowFocusChanged(boolean hasFocus) {
|
||||
super.onWindowFocusChanged(hasFocus);
|
||||
if (hasFocus) {
|
||||
String checkbox_off = String.valueOf(android.R.drawable.checkbox_off_background);
|
||||
String checkbox_on = String.valueOf(android.R.drawable.checkbox_on_background);
|
||||
|
||||
if (isEnabledSystemWide(this)) {
|
||||
list.get(0).put(iconKey, checkbox_on);
|
||||
list.get(1).put(isEnabledKey, "true");
|
||||
}
|
||||
else {
|
||||
list.get(0).put(iconKey, checkbox_off);
|
||||
list.get(1).put(isEnabledKey, "false");
|
||||
}
|
||||
|
||||
if (isDefaultKB(this))
|
||||
list.get(1).put(iconKey, checkbox_on);
|
||||
else
|
||||
list.get(1).put(iconKey, checkbox_off);
|
||||
|
||||
String[] from = new String[]{ iconKey, textKey };
|
||||
int[] to = new int[] { R.id.left_icon, R.id.text };
|
||||
listAdapter = new SimpleAdapter(this, list, R.layout.setup_row_layout, from, to);
|
||||
listView.setAdapter(listAdapter);
|
||||
}
|
||||
}
|
||||
|
||||
static boolean isEnabledSystemWide(Context context) {
|
||||
InputMethodManager imManager = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
|
||||
if(imManager == null) {
|
||||
Log.e("isEnabledSystemWide", "Failed to get system service INPUT_METHOD_SERVICE");
|
||||
return false;
|
||||
}
|
||||
List<InputMethodInfo> imList = imManager.getEnabledInputMethodList();
|
||||
if(imList == null) {
|
||||
Log.e("isEnabledSystemWide", "Failed to get enabled input method list");
|
||||
return false;
|
||||
}
|
||||
|
||||
final int size = imList.size();
|
||||
for(int i = 0; i < size; i++) {
|
||||
if (imList.get(i).getServiceName().equals("com.firstvoices.keyboards.SystemKeyboard")) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
static boolean isDefaultKB(Context context) {
|
||||
String inputMethod = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD);
|
||||
return inputMethod.equals("com.firstvoices.keyboards/.SystemKeyboard");
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,193 @@
|
|||
package com.firstvoices.keyboards;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.Configuration;
|
||||
import android.graphics.Point;
|
||||
import android.graphics.Typeface;
|
||||
import android.inputmethodservice.InputMethodService;
|
||||
import android.view.Display;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.WindowManager;
|
||||
import android.view.inputmethod.EditorInfo;
|
||||
import android.view.inputmethod.ExtractedText;
|
||||
import android.view.inputmethod.ExtractedTextRequest;
|
||||
import android.view.inputmethod.InputConnection;
|
||||
|
||||
import com.tavultesoft.kmea.KMHardwareKeyboardInterpreter;
|
||||
import com.tavultesoft.kmea.KMManager;
|
||||
import com.tavultesoft.kmea.KMManager.KeyboardType;
|
||||
import com.tavultesoft.kmea.KeyboardEventHandler;
|
||||
|
||||
public class SystemKeyboard extends InputMethodService implements KeyboardEventHandler.OnKeyboardEventListener {
|
||||
|
||||
private View inputView = null;
|
||||
private KMHardwareKeyboardInterpreter interpreter = null;
|
||||
|
||||
/** Main initialization of the input method component. Be sure to call
|
||||
* to super class. */
|
||||
@Override
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
KMManager.setDebugMode(false); // *** TO DO: Disable/delete before publishing a new release ***
|
||||
KMManager.addKeyboardEventListener(this);
|
||||
KMManager.setCanAddNewKeyboard(false);
|
||||
KMManager.setCanRemoveKeyboard(false);
|
||||
KMManager.setShouldCheckKeyboardUpdates(false);
|
||||
KMManager.setKeyboardPickerFont(Typeface.createFromAsset(getAssets(), "fonts/NotoSansCanadianAboriginal.ttf"));
|
||||
KMManager.initialize(getApplicationContext(), KeyboardType.KEYBOARD_TYPE_SYSTEM);
|
||||
|
||||
interpreter = new KMHardwareKeyboardInterpreter(getApplicationContext(), KeyboardType.KEYBOARD_TYPE_SYSTEM);
|
||||
KMManager.setInputMethodService(this); // for HW interface
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
inputView = null;
|
||||
KMManager.removeKeyboardEventListener(this);
|
||||
interpreter = null; // Throw it away, since we're losing our application's context.
|
||||
KMManager.onDestroy();
|
||||
super.onDestroy();
|
||||
}
|
||||
|
||||
/** This is the point where you can do all of your UI initialization. It
|
||||
* is called after creation and any configuration change. */
|
||||
@Override
|
||||
public void onInitializeInterface() {
|
||||
super.onInitializeInterface();
|
||||
}
|
||||
|
||||
/** Called by the framework when your view for creating input needs to
|
||||
* be generated. This will be called the first time your input method
|
||||
* is displayed, and every time it needs to be re-created such as due to
|
||||
* a configuration change. */
|
||||
@Override
|
||||
public View onCreateInputView() {
|
||||
// create the inputView only once
|
||||
if (inputView == null)
|
||||
inputView = KMManager.createInputView(this);
|
||||
|
||||
// we must remove the inputView from its previous parent before returning it
|
||||
ViewGroup parent = (ViewGroup) inputView.getParent();
|
||||
if (parent != null)
|
||||
parent.removeView(inputView);
|
||||
|
||||
return inputView;
|
||||
}
|
||||
|
||||
/** Deal with the editor reporting movement of its cursor. */
|
||||
@Override
|
||||
public void onUpdateSelection(int oldSelStart, int oldSelEnd, int newSelStart, int newSelEnd, int candidatesStart, int candidatesEnd) {
|
||||
super.onUpdateSelection(oldSelStart, oldSelEnd, newSelStart, newSelEnd, candidatesStart, candidatesEnd);
|
||||
// Selection range has changed, we should pass it to Keyman Engine
|
||||
KMManager.updateSelectionRange(KeyboardType.KEYBOARD_TYPE_SYSTEM, newSelStart, newSelEnd);
|
||||
}
|
||||
|
||||
/** This is the main point where we do our initialization of the input method
|
||||
* to begin operating on an application. At this point we have been
|
||||
* bound to the client, and are now receiving all of the detailed information
|
||||
* about the target of our edits. */
|
||||
@Override
|
||||
public void onStartInput(EditorInfo attribute, boolean restarting) {
|
||||
// Disable IME fullscreen mode
|
||||
attribute.imeOptions |= EditorInfo.IME_FLAG_NO_EXTRACT_UI | EditorInfo.IME_FLAG_NO_FULLSCREEN;
|
||||
super.onStartInput(attribute, restarting);
|
||||
KMManager.onStartInput(attribute, restarting);
|
||||
|
||||
// User switched to a new input field so we should extract the text from input field
|
||||
// and pass it to Keyman Engine together with selection range
|
||||
InputConnection ic = getCurrentInputConnection();
|
||||
if (ic != null) {
|
||||
ExtractedText icText = ic.getExtractedText(new ExtractedTextRequest(), 0);
|
||||
if (icText != null) {
|
||||
KMManager.updateText(KeyboardType.KEYBOARD_TYPE_SYSTEM, icText.text.toString());
|
||||
int selStart = icText.startOffset + icText.selectionStart;
|
||||
int selEnd = icText.startOffset + icText.selectionEnd;
|
||||
KMManager.updateSelectionRange(KeyboardType.KEYBOARD_TYPE_SYSTEM, selStart, selEnd);
|
||||
}
|
||||
}
|
||||
|
||||
if (KMManager.getCurrentKeyboardIndex(this) < 0)
|
||||
KMManager.setKeyboard(this, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStartInputView(EditorInfo attribute, boolean restarting) {
|
||||
super.onStartInputView(attribute, restarting);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUpdateExtractingVisibility(EditorInfo ei) {
|
||||
super.onUpdateExtractingVisibility(ei);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConfigurationChanged(Configuration newConfig) {
|
||||
super.onConfigurationChanged(newConfig);
|
||||
KMManager.onConfigurationChanged(newConfig);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onComputeInsets(Insets outInsets) {
|
||||
super.onComputeInsets(outInsets);
|
||||
|
||||
// We should extend the touchable region so that Keyman sub keys menu can receive touch events outside the keyboard frame
|
||||
WindowManager wm = (WindowManager)getSystemService(Context.WINDOW_SERVICE);
|
||||
if(wm == null) return;
|
||||
Point size = new Point(0, 0);
|
||||
Display display = wm.getDefaultDisplay();
|
||||
if(display == null) return;
|
||||
|
||||
display.getSize(size);
|
||||
|
||||
int inputViewHeight = 0;
|
||||
if (inputView != null)
|
||||
inputViewHeight = inputView.getHeight();
|
||||
|
||||
int kbHeight = KMManager.getKeyboardHeight(this);
|
||||
outInsets.contentTopInsets = inputViewHeight - kbHeight;
|
||||
outInsets.touchableInsets = Insets.TOUCHABLE_INSETS_REGION;
|
||||
outInsets.touchableRegion.set(0, outInsets.contentTopInsets, size.x, size.y);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onKeyboardLoaded(KeyboardType keyboardType) {
|
||||
// Handle Keyman keyboard loaded event here if needed
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onKeyboardChanged(String newKeyboard) {
|
||||
// Handle Keyman keyboard changed event here if needed
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onKeyboardShown() {
|
||||
// Handle Keyman keyboard shown event here if needed
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onKeyboardDismissed() {
|
||||
// Handle Keyman keyboard dismissed event here if needed
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onKeyDown(int keyCode, KeyEvent event) {
|
||||
return interpreter.onKeyDown(keyCode, event); // if false, will revert to default handling.
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onKeyUp(int keyCode, KeyEvent event) {
|
||||
return interpreter.onKeyUp(keyCode, event);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onKeyMultiple(int keyCode, int count, KeyEvent event) {
|
||||
return interpreter.onKeyMultiple(keyCode, count, event);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onKeyLongPress(int keyCode, KeyEvent event) {
|
||||
return interpreter.onKeyLongPress(keyCode, event);
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 947 B |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 593 B |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 652 B |
|
After Width: | Height: | Size: 834 B |
|
After Width: | Height: | Size: 441 B |
|
After Width: | Height: | Size: 694 B |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 727 B |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 2.7 KiB |
|
After Width: | Height: | Size: 1,021 B |
|
After Width: | Height: | Size: 2.4 KiB |
|
After Width: | Height: | Size: 4.2 KiB |
|
|
@ -0,0 +1,14 @@
|
|||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context=".MainActivity">
|
||||
|
||||
<WebView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:id="@+id/webView"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_centerHorizontal="true" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/list_item" >
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:orientation="vertical"
|
||||
android:id="@+id/linearLayout">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text1"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="15dp"
|
||||
android:layout_marginBottom="15dp"
|
||||
android:textSize="14sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginRight="10dp"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:orientation="horizontal"
|
||||
android:id="@+id/linearLayout2">
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/buttonHelp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="?android:selectableItemBackground"
|
||||
android:src="@drawable/ic_action_help"
|
||||
android:contentDescription="@string/image_button" />
|
||||
|
||||
<CheckBox
|
||||
android:id="@+id/checkBox1"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</RelativeLayout>
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" >
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/left_button"
|
||||
style="?android:attr/actionButtonStyle"
|
||||
android:layout_width="32dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:contentDescription="@string/image_button"
|
||||
android:src="@drawable/ic_action_back" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/bar_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:gravity="center"
|
||||
android:text="@string/keyboards"
|
||||
android:textSize="16sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/list_item" >
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:orientation="vertical" >
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text1"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:textSize="16sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:textSize="14sp" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/imageNext"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:layout_marginRight="10dp"
|
||||
android:src="@drawable/ic_action_next"
|
||||
android:contentDescription="@string/image_view" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" >
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/left_button"
|
||||
style="?android:attr/actionButtonStyle"
|
||||
android:layout_width="32dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:contentDescription="@string/image_button"
|
||||
android:src="@drawable/ic_action_back" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/bar_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:gravity="center"
|
||||
android:text="@string/regions"
|
||||
android:textSize="16sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content" >
|
||||
|
||||
<ListView
|
||||
android:id="@+id/listView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content" />
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/listView" >
|
||||
|
||||
<View
|
||||
android:id="@+id/separator"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="2dp"
|
||||
android:layout_alignParentTop="true"
|
||||
android:background="@color/firstvoices_red" />
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="30dp"
|
||||
android:layout_below="@+id/separator"
|
||||
android:background="@android:color/white" />
|
||||
|
||||
</RelativeLayout>
|
||||
</RelativeLayout>
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" >
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/left_icon"
|
||||
style="?android:attr/actionButtonStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:contentDescription="@string/image_view" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_toRightOf="@+id/left_icon"
|
||||
android:layout_centerVertical="true"
|
||||
android:textSize="14sp"
|
||||
android:textStyle="normal" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" >
|
||||
|
||||
<ImageView
|
||||
style="?android:attr/actionButtonStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:contentDescription="@string/image_view"
|
||||
android:src="@drawable/ic_action_setup" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/menu_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_centerInParent="true"
|
||||
android:gravity="center"
|
||||
android:text="@string/setup"
|
||||
android:textSize="20sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/close_button"
|
||||
style="?android:attr/actionButtonStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_centerVertical="true"
|
||||
android:contentDescription="@string/image_button"
|
||||
android:src="@android:drawable/ic_menu_close_clear_cancel" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity">
|
||||
<item android:id="@+id/action_settings" android:title="@string/action_settings"
|
||||
android:orderInCategory="100" app:showAsAction="never" />
|
||||
</menu>
|
||||
|
After Width: | Height: | Size: 5.9 KiB |