three实现三维材质玻璃折射的文字代码

代码语言:html

所属分类:三维

代码描述:three实现三维材质玻璃折射的文字代码

代码标签: three 三维 材质 玻璃 折射 文字 代码

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en" >

<head>
  <meta charset="UTF-8">
  

  
  <link rel='stylesheet' href='https://fonts.googleapis.com/css2?family=Paytone+One&amp;display=swap'>
  
<style>
body {
	margin: 0;
	user-select: none;
}

body > canvas {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	user-select: none;
}
</style>

  
  
</head>

<body translate="no">
<script  async type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/es-module-shims.1.6.3.js"></script>

<script type="importmap">
  {
    "imports": {      
      "three": "//repo.bfw.wiki/bfwrepo/js/module/three/build/168/three.module.js",
      "three/addons/": "//repo.bfw.wiki/bfwrepo/js/module/three/examples/164/jsm/"
    }
  }
</script>
      <script type="module">

import * as THREE from "three";
import { FontLoader } from "three/addons/loaders/FontLoader.js";
import { TextGeometry } from "three/addons/geometries/TextGeometry.js";
import { OrbitControls } from "three/addons/controls/OrbitControls.js";
import { easing } from "//repo.bfw.wiki/bfwrepo/js/module/maath.js";

const vertexShader = `varying vec3 worldNormal;
varying vec3 eyeVector;

void main() {
  vec4 worldPos = modelMatrix * vec4(position, 1.0);
  vec4 mvPosition = viewMatrix * worldPos;

  gl_Position = projectionMatrix * mvPosition;
  worldNormal = normalize(modelMatrix * vec4(normal, 0.0)).xyz;
  eyeVector =  normalize(worldPos.xyz - cameraPosition);
}
`;

const fragmentShader = `uniform float uIorR;
uniform float uIorY;
uniform float uIorG;
uniform float uIorC;
uniform float uIorB;
uniform float uIorP;

uniform float uSaturation;
uniform float uChromaticAberration;
uniform float uRefractPower;
uniform float uFresnelPower;
uniform float uShininess;
uniform float uDiffuseness;
uniform vec3 uLight;

uniform vec2 winResolution;
uniform sampler2D uTexture;

varying vec3 worldNormal;
varying vec3 eyeVector;

vec3 sat(vec3 rgb, float adjustment) {
  const vec3 W = vec3(0.2125, 0.7154, 0.0721);
  vec3 intensity = vec3(dot(rgb, W));
  return mix(intensity, rgb, adjustment);
}

float fresnel(vec3 eyeVector, vec3 worldNormal, float power) {
  float fresnelFactor = abs(dot(eyeVector, worldNormal));
  float inversefresnelFactor = 1.0 - fresnelFactor;
  
  return pow(inversefresnelFactor, power);
}

float specular(vec3 light, float shininess, float diffuseness) {
  vec3 normal = worldNormal;
  vec3 lightVector = normalize(-light);
  vec3 halfVector = normalize(eyeVector + lightVector);

  float NdotL = dot(normal, lightVector);
  float NdotH =  dot(normal, halfVector);
  float kDiffuse = max(0.0, NdotL);
  float NdotH2 = NdotH * NdotH;

  float kSpecular = pow(NdotH2, shininess);
  return  kSpecular + kDiffuse * diffuseness;
}

const int LOOP = 16;

void main() {
  float iorRatioRed = 1.0/uIorR;
  float iorRatioGreen = 1.0/uIorG;
  float iorRatioBlue = 1.0/uIorB;

  vec2 uv = gl_FragCoord.xy / winResolution.xy;
  vec3 normal = worldNormal;
  vec3 color = vec3(0.0);

  for ( int i = 0; i < LOOP; i ++ ) {
    float slide = float(i) / float(LOOP) * 0.1;

    vec3 refractVecR = refract(eyeVector, normal,(1.0/uIorR));
    vec3 refractVecY = refract(eyeVector, normal, (1.0/uIorY));
    vec3 refractVecG = refract(eyeVector, normal, (1.0/uIorG));
    vec3 refractVecC = refract(eyeVector, normal, (1.0/uIorC));
    vec3 refractVecB = refract(eyeVector, normal, (1.0/uIorB));
    vec3 refractVecP = refract(eyeVector, normal, (1.0/uIorP));

    float r = texture2D(uTexture, uv + refractVecR.xy * (uRefractPower + slide * 1.0) * uChromaticAberration).x * 0.5;

    float y = (texture2D(uTexture, uv + refractVecY.xy * (uRefractPower + slide * 1.0) * uChromaticAberration).x * 2.0 +
                texture2D(uTexture, uv + refractVecY.xy * (uRefractPower + slide * 1.0) * uChromaticAberration).y * 2.0 -
                texture2D(uTexture, uv + refractVecY.xy * (uRefractPower + slide * 1.0) * uChromaticAberration).z) / 6.0;

    float g = texture2D(uTexture, uv + refractVecG.xy * (uRefractPower + slide * 2.0) * uChromaticAberration).y * 0.5;

    float c = (texture2D(uTexture, uv + refractVecC.xy * (uRefractPower + slide * 2.5) * uChromaticAberration).y * 2.0 +
                texture2D(uTexture, uv + refractVecC.xy * (uRefractPower + slide * 2.5) * uChromaticAberration).z * 2.0 -
                texture2D(uTexture, uv + refractVecC.xy * (uRefractPower + slide * 2.5) * uChromaticAberration).x) / 6.0;
          
    float b = texture2D(uTexture, uv + refractVecB.xy * (uRefractPower + slide * 3.0) * uChromaticAberration).z * 0.5;

    float p = (texture2D(uTexture, uv + refractVecP.xy * (uRefractPower + slide * 1.0) * uChromaticAberration).z * 2.0 +
                texture2D(uTexture, uv + refractVecP.xy * (uRefractPower + slide * 1.0) * uChromaticAberration).x * 2.0 -
                texture2D(uTexture, uv + refractVecP.xy * (uRefractPower + slide * 1.0) * uChromaticAberration).y) / 6.0;

    float R = r + (2.0*p + 2.0*y - c)/3.0;
    float G = g + (2.0*y + 2.0*c - p)/3.0;
    float B = b + (2.0*c + 2.0*p - y)/3.0;

    color.r += R;
    color.g += G;
    color.b += B;

    color = sat(color, uSaturation);
  }

  // Divide by the number of layers to normalize colors (rgb values can be worth up to the value of LOOP)
  color /= float( LOOP );

  // Specular
  float specularLight = specular(uLight, uShininess, uDiffuseness);
  color += specularLight;

  // Fresnel
  float f = fresnel(eyeVector, normal, uFresnelPower);
  color.rgb += f * vec3(1.0);

  gl_FragColor = vec4(color, 1.0);
  #include <tonemapping_fragment>
  #include <colorspace_fragment>
}`;

class App {
	scene = new THREE.Scene();
	renderer = new THREE.WebGLRenderer({ antialias: false });
	coords = new THREE.Vector2(0, 0);
	camera = new THREE.PerspectiveCamera(
		70,
		window.innerWidth / window.innerHeight,
		0.01,
		1000
	);

	constructor() {
		this.init();
		this.setComponents();
	}

	init() {
		this.scene.background = 0xff0000;
		this.renderer.setAnimationLoop(this.animate.bind(this));
		this.handleResize();
		window.addEventListener("resize", this.handleResize.bind(this), false);
		document.body.appendChild(this.renderer.domElement);

		this.camera.position.z = 3;
		document.body.addEventListener(
			"mousemove",
			this.onDocumentMouseMove.bind(this),
			false
		);
	}

	onDocumentMouseMove(event) {
		this.setCoords(event.clientX, event.clientY);
	}
	setCoords(x, y) {
		if (this.timer) clearTimeout(this.timer);
		this.coords.set(
			(x / window.innerWidth) * 2 - 1,
			-(y / window.innerHeight) * 2 + 1
		);
		this.mouseMoved = true;

		this.timer = setTimeout(() => {
			this.mouseMoved = false;
		}, 100);
	}

	setComponents() {
		this.controls = new OrbitControls(this.camera, this.renderer.domElement);
		try {
			this.holder = new THREE.Group();
			const geo = new THREE.IcosahedronGeometry(0.5, 8);
			const mat = new THREE.MeshBasicMaterial({ color: 0xffffff });
			const ico = new THREE.Mesh(geo, mat);

			const w = 1000;
			for (let i = 0; i < w; i++) {
				const icot = ico.clone();
				icot.position.x = (i % 50) * 2.5 - 100;
				icot.position.y = Math.round(i / 25) * 2.5 - 50;
				icot.position.z = -40;
				icot.layers.set(1);
				this.holder.add(icot);
			}
			this.scene.add(this.holder);
		} catch (e) {
			console.log(e);
		}

		this.target = new THREE.WebGLRenderTarget(
			window.innerWidth * window.devicePixelRatio,
			window.innerHeight * window.devicePixelRatio,
			{
				minFilter: THREE.LinearFilter,
				magFilter: THREE.LinearFilter,
				type: THREE.HalfFloatType
			}
		);
		this.backTarget = new THREE.WebGLRenderTarget(
			window.innerWidth * window.devicePixelRatio,
			window.innerHeight * window.devicePixelRatio,
			{
				minFilter: THREE.LinearFilter,
				magFilter: THREE.LinearFilter,
				type: THREE.HalfFloatType
			}
		);

		const font = new FontLoader().parse(json);

		const textGeometry = new TextGeometry("Prisme.", {
			font,
			size: 0.5,
			height: 0.1,
			curveSegments: 12,
			bevelEnabled: true,
			bevelSize: 0.02,
			textAlign: "center",
			bevelThickness: 0.01,
			bevelOffset: 0,
			bevelSegments: 10
		});
		const material = new THREE.ShaderMaterial({
			vertexShader,
			fragmentShader,
			uniforms: {
				uTexture: {
					value: null
				},
				uIorR: { value: 1.15 },
				uIorY: { value: 1.16 },
				uIorG: { value: 1.18 },
				uIorC: { value: 1.22 },
				uIorB: { value: 1.22 },
				uIorP: { value: 1.22 },
				uRefractPower: {
					value: 0.2
				},
				uChromaticAberration: {
					value: 0.6
				},
				uSaturation: { value: 1.08 },
				uShininess: { value: 40.0 },
				uDiffuseness: { value: 0.2 },
				uFresnelPower: { value: 8.0 },
				uLight: {
					value: new THREE.Vector3(-1.0, 1.0, 1.0)
				},
				winResolution: {
					value: new THREE.Vector2(window.innerWidth, window.innerHeight)
				}
			}
		});
		textGeometry.computeVertexNormals();
		this.text = new THREE.Mesh(textGeometry, material);
		textGeometry.center();
		this.scene.add(this.text);
	}

	handleResize() {
		const { innerWidth: width, innerHeight: height } = window;
		const { camera, renderer } = this;
		camera.aspect = width / height;
		camera.updateProjectionMatrix();
		renderer.setSize(width, height);
		if (this.text) {
			console.log(this.text);
			this.text.material.uniforms.winResolution.value.set(
				window.innerWidth,
				window.innerHeight
			);
		}
	}

	animate(t) {
		const delta = t - parseFloat(this.pt);
		this.pt = t;

		// this damping approach is super interesting it comes from https://codesandbox.io/p/sandbox/4j2q2
		easing.damp3(
			this.text.position,
			[
				this.text.position.x,
				this.text.position.y,
				(1.0 - Math.cos(this.coords.x)) * 2.25
			],
			0.2,
			delta / 1000
		);
		easing.damp3(
			this.text.rotation,
			[
				this.coords.y * 3.14 * 0.0314 * 0.9,
				this.coords.x * 3.14 * 0.0314 * 1.4,
				0
			],
			0.2,
			delta / 1000
		);
		// console.log(this.text.rotation)
		this.holder.rotation.z += 0.001;
		this.camera.layers.disableAll();
		this.camera.layers.enable(1);
		this.text.visible = false;
		this.renderer.setRenderTarget(this.backTarget);
		this.renderer.render(this.scene, this.camera);

		this.camera.layers.enableAll();
		this.text.material.side = THREE.BackSide;
		this.text.material.uniforms.uTexture.value = this.backTarget.texture;
		this.text.visible = true;
		this.renderer.setRenderTarget(this.target);
		this.renderer.render(this.scene, this.camera);

		this.camera.layers.disable(1);
		this.text.material.uniforms.uTexture.value = this.target.texture;
		this.text.material.side = THREE.FrontSide;
		this.renderer.setRenderTarget(null);
		this.renderer.render(this.scene, this.camera);
	}
}

const json = {
	glyphs: {
		0: {
			ha: 1319,
			x_min: 68,
			x_max: 1251,
			o:
				"m 660 -28 q 224 117 381 -28 q 68 500 68 263 q 224 879 68 735 q 660 1024 381 1024 q 1094 878 938 1024 q 1251 500 1251 733 q 1094 118 1251 264 q 660 -28 938 -28 m 417 500 q 480 315 417 378 q 660 251 543 251 q 839 315 775 251 q 903 500 903 378 q 840 683 903 619 q 660 746 776 746 q 480 683 543 746 q 417 500 417 621 z "
		},
		1: {
			ha: 1125,
			x_min: 82,
			x_max: 1043,
			o:
				"m 82 0 l 82 250 l 399 250 l 399 733 l 150 657 l 82 896 l 432 997 l 725 997 l 725 250 l 1043 250 l 1043 0 l 82 0 z "
		},
		2: {
			ha: 1257,
			x_min: 82,
			x_max: 1175,
			o:
				"m 82 143 q 124 292 82 226 q 232 399 165 358 q 378 471 299 439 q 539 526 458 503 q 686 574 619 550 q 794 629 753 597 q 836 703 836 661 q 798 775 836 751 q 668 799 760 799 q 438 646 438 799 l 97 646 q 156 819 107 744 q 283 936 204 893 q 460 1000 363 979 q 676 1021 558 1021 q 1043 944 911 1021 q 1175 721 1175 868 q 1110 543 1175 617 q 947 431 1044 469 q 751 366 850 393 q 573 311 653 339 q 476 250 493 283 l 1161 250 l 1161 0 l 82 0 l 82 143 z "
		},
		3: {
			ha: 1267,
			x_min: 68,
			x_max: 1200,
			o:
				"m 654 -28 q 228 65 372 -28 q 68 351 85 158 l 394 351 q 458 242 394 276 q 651 208 521 208 q 813 234 763 208 q 864 319 864 260 q 818 399 864 375 q 668 422 772 422 l 582 422 l 582 604 l 660 604 q 804 628 758 606 q 850 703 850 651 q 802 776 850 754 q 644 799 754 799 q 453 763 513 799 q 394 646 394 726 l 82 646 q 671 1021 115 1021 q 1056 947 926 1021 q 1186 729 1186 872 q 1029 514 1186 574 q 1200 288 1200 453 q 654 -28 1200 -28 z "
		},
		4: {
			ha: 1344,
			x_min: 82,
			x_max: 1263,
			o:
				"m 767 0 l 767 158 l 82 158 l 82 393 l 767 997 l 1093 997 l 1093 393 l 1263 393 l 1263 158 l 1093 158 l 1093 0 l 767 0 m 415 393 l 767 393 l 767 715 l 415 393 z "
		},
		5: {
			ha: 1231,
			x_min: 67,
			x_max: 1164,
			o:
				"m 635 -28 q 235 63 392 -28 q 67 331 79 153 l 410 331 q 622 210 436 210 q 821 354 821 210 q 776 453 821 418 q 647 489 732 489 q 535 472 583 489 q 428 413 486 456 l 125 471 l 207 999 l 1083 999 l 1083 760 l 471 760 l 450 610 q 765 674 588 674 q 1059 588 954 674 q 1164 349 1164 503 q 1026 73 1164 174 q 635 -28 889 -28 z "
		},
		6: {
			ha: 1288,
			x_min: 81,
			x_max: 1210,
			o:
				"m 664 -28 q 238 108 394 -28 q 81 478 81 244 q 259 874 81 728 q 740 1021 438 1021 q 1126 990 940 1021 l 1126 754 q 771 782 944 782 q 446 608 515 782 q 765 678 590 678 q 1090 588 971 678 q 1210 344 1210 497 q 1062 73 1210 174 q 664 -28 914 -28 m 425 350 q 484 248 425 286 q 642 210 543 210 q 806 249 744 210 q 867 353 867 288 q 806 452 867 415 q 644 489 746 489 q 485 451 544 489 q 425 350 425 413 z "
		},
		7: {
			ha: 1193,
			x_min: 85,
			x_max: 1108,
			o:
				"m 299 0 q 756 750 299 490 l 85 750 l 85 997 l 1108 997 l 1108 750 q 737 410 849 588 q 625 0 625 232 l 299 0 z "
		},
		8: {
			ha: 1349,
			x_min: 82,
			x_max: 1265,
			o:
				"m 674 -28 q 387 -7 504 -28 q 203 56 269 14 q 110 150 138 97 q 82 274 82 203 q 356 524 82 465 q 165 756 165 586 q 296 952 165 883 q 674 1021 426 1021 q 1051 952 921 1021 q 1181 756 1181 883 q 990 524 1181 585 q 1265 274 1265 467 q 1237 150 1265 203 q 1143 56 1208 97 q 960 -6 1078 15 q 674 -28 842 -28 m 435 297 q 674 183 435 183 q 913 297 913 183 q 674 410 913 410 q 492 382 549 410 q 435 297 435 354 m 524 801 q 501 789 524 801 q 479 732 479 778 q 524 664 479 686 q 674 642 568 642 q 824 664 781 642 q 868 732 868 686 q 824 801 868 778 q 674 824 779 824 q 524 801 568 824 z "
		},
		9: {
			ha: 1288,
			x_min: 78,
			x_max: 1207,
			o:
				"m 624 1021 q 1050 885 893 1021 q 1207 515 1207 749 q 1028 119 1207 265 q 547 -28 850 -28 q 161 3 347 -28 l 161 239 q 517 211 343 211 q 842 385 772 211 q 522 315 697 315 q 197 406 317 315 q 78 649 78 496 q 226 920 78 819 q 624 1021 374 1021 m 421 640 q 481 541 421 578 q 643 504 542 504 q 803 542 743 504 q 863 643 863 581 q 803 745 863 707 q 646 783 744 783 q 482 744 543 783 q 421 640 421 706 z "
		},
		"­": {
			ha: 722,
			x_min: 135,
			x_max: 592,
			o:
				"m 592 1111 l 592 -333 l 135 -333 l 135 1111 l 592 1111 m 242 -233 l 481 -233 l 481 -186 l 333 -186 l 435 -118 l 481 -118 l 481 -71 l 242 -71 l 242 -118 l 342 -118 l 242 -186 l 242 -233 m 242 -37 l 481 -37 l 481 126 l 242 126 l 242 -37 m 242 213 l 481 213 l 481 376 l 336 376 l 336 294 l 386 294 l 386 328 l 433 328 l 433 260 l 289 260 l 289 376 l 242 376 l 242 213 m 242 408 l 481 408 l 481 553 l 433 553 l 433 457 l 242 457 l 242 408 m 242 490 l 386 490 l 386 592 l 481 592 l 481 639 l 242 639 l 242 592 l 336 592 l 336 538 l 242 538 l 242 490 m 242 678 l 481 678 l 481 726 l 386 726 l 386 828 l 242 828 l 242 678 m 242 865 l 481 865 l 481 914 l 386 914 l 386 967 l 481 967 l 481 1014 l 243 1014 l 243 967 l 336 967 l 336 914 l 242 914 l 242 865 m 289 11 l 289 78 l 433 78 l 433 11 l 289 11 m 289 726 l 289 779 l 336 779 l 336 726 l 289 726 z "
		},
		"²": {
			ha: 722,
			x_min: 135,
			x_max: 592,
			o:
				"m 592 1111 l 592 -333 l 135 -333 l 135 1111 l 592 1111 m 242 -233 l 481 -233 l 481 -186 l 333 -186 l 435 -118 l 481 -118 l 481 -71 l 242 -71 l 242 -118 l 342 -118 l 242 -186 l 242 -233 m 242 -37 l 481 -37 l 481 126 l 242 126 l 242 -37 m 242 213 l 481 213 l 481 376 l 336 376 l 336 294 l 386 294 l 386 328 l 433 328 l 433 260 l 289 260 l 289 376 l 242 376 l 242 213 m 242 408 l 481 408 l 481 553 l 433 553 l 433 457 l 242 457 l 242 408 m 242 490 l 386 490 l 386 592 l 481 592 l 481 639 l 242 639 l 242 592 l 336 592 l 336 538 l 242 538 l 242 490 m 242 678 l 481 678 l 481 726 l 386 726 l 386 828 l 242 828 l 242 678 m 242 865 l 481 865 l 481 914 l 386 914 l 386 967 l 481 967 l 481 1014 l 243 1014 l 243 967 l 336 967 l 336 914 l 242 914 l 242 865 m 289 11 l 289 78 l 433 78 l 433 11 l 289 11 m 289 726 l 289 779 l 336 779 l 336 726 l 289 726 z "
		},
		"³": {
			ha: 722,
			x_min: 135,
			x_max: 592,
			o:
				"m 592 1111 l 592 -333 l 135 -333 l 135 1111 l 592 1111 m 242 -233 l 481 -233 l 481 -186 l 333 -186 l 435 -118 l 481 -118 l 481 -71 l 242 -71 l 242 -118 l 342 -118 l 242 -186 l 242 -233 m 242 -37 l 481 -37 l 481 126 l 242 126 l 242 -37 m 242 213 l 481 213 l 481 376 l 336 376 l 336 294 l 386 294 l 386 328 l 433 328 l 433 260 l 289 260 l 289 376 l 242 376 l 242 213 m 242 408 l 481 408 l 481 553 l 433 553 l 433 457 l 242 457 l 242 408 m 242 490 l 386 490 l 386 592 l 481 592 l 481 639 l 242 639 l 242 592 l 336 592 l 336 538 l 242 538 l 242 490 m 242 678 l 481 678 l 481 726 l 386 726 l 386 828 l 242 828 l 242 678 m 242 865 l 481 865 l 481 914 l 386 914 l 386 967 l 481 967 l 481 1014 l 243 1014 l 243 967 l 336 967 l 336 914 l 242 914 l 242 865 m 289 11 l 289 78 l 433 78 l 433 11 l 289 11 m 289 726 l 289 779 l 336 779 l 336 726 l 289 726 z "
		},
		µ: {
			ha: 722,
			x_min: 135,
			x_max: 592,
			o:
				"m 592 1111 l 592 -333 l 135 -333 l 135 1111 l 592 1111 m 242 -233 l 481 -233 l 481 -186 l 333 -186 l 435 -118 l 481 -118 l 481 -71 l 242 -71 l 242 -118 l 342 -118 l 242 -186 l 242 -233 m 242 -37 l 481 -37 l 481 126 l 242 126 l 242 -37 m 242 213 l 481 213 l 481 376 l 336 376 l 336 294 l 386 294 l 386 328 l 433 328 l 433 260 l 289 260 l 289 376 l 242 376 l 242 213 m 242 408 l 481 408 l 481 553 l 433 553 l 433 457 l 242 457 l 242 408 m 242 490 l 386 490 l 386 592 l 481 592 l 481 639 l 242 639 l 242 592 l 336 592 l 336 538 l 242 538 l 242 490 m 242 678 l 481 678 l 481 726 l 386 726 l 386 828 l 242 828 l 242 678 m 242 865 l 481 865 l 481 914 l 386 914 l 386 967 l 481 967 l 481 1014 l 243 1014 l 243 967 l 336 967 l 336 914 l 242 914 l 242 865 m 289 11 l 289 78 l 433 78 l 433 11 l 289 11 m 289 726 l 289 779 l 336 779 l 336 726 l 289 726 z "
		},
		"¹": {
			ha: 722,
			x_min: 135,
			x_max: 592,
			o:
				"m 592 1111 l 592 -333 l 135 -333 l 135 1111 l 592 1111 m 242 -233 l 481 -233 l 481 -186 l 333 -186 l 435 -118 l 481 -118 l 481 -71 l 242 -71 l 242 -118 l 342 -118 l 242 -186 l 242 -233 m 242 -37 l 481 -37 l 481 126 l 242 126 l 242 -37 m 242 213 l 481 213 l 481 376 l 336 376 l 336 294 l 386 294 l 386 328 l 433 328 l 433 260 l 289 260 l 289 376 l 242 376 l 242 213 m 242 408 l 481 408 l 481 553 l 433 553 l 433 457 l 242 457 l 242 408 m 242 490 l 386 490 l 386 592 l 481 592 l 481 639 l 242 639 l 242 592 l 336 592 l 336 538 l 242 538 l 242 490 m 242 678 l 481 678 l 481 726 l 386 726 l 386 828 l 242 828 l 242 678 m 242 865 l 481 865 l 481 914 l 386 914 l 386 967 l 481 967 l 481 1014 l 243 1014 l 243 967 l 336 967 l 336 914 l 242 914 l 242 865 m 289 11 l 289 78 l 433 78 l 433 11 l 289 11 m 289 726 l 289 779 l 336 779 l 336 726 l 289 726 z "
		},
		º: {
			ha: 722,
			x_min: 135,
			x_max: 592,
			o:
				"m 592 1111 l 592 -333 l 135 -333 l 135 1111 l 592 1111 m 242 -233 l 481 -233 l 481 -186 l 333 -186 l 435 -118 l 481 -118 l 481 -71 l 242 -71 l 242 -118 l 342 -118 l 242 -186 l 242 -233 m 242 -37 l 481 -37 l 481 126 l 242 126 l 242 -37 m 242 213 l 481 213 l 481 376 l 336 376 l 336 294 l 386 294 l 386 328 l 433 328 l 433 260 l 289 260 l 289 376 l 242 376 l 242 213 m 242 408 l 481 408 l 481 553 l 433 553 l 433 457 l 242 457 l 242 408 m 242 490 l 386 490 l 386 592 l 481 592 l 481 639 l 242 639 l 242 592 l 336 592 l 336 538 l 242 538 l 242 490 m 242 678 l 481 678 l 481 726 l 386 726 l 386 828 l 242 828 l 242 678 m 242 865 l 481 865 l 481 914 l 386 914 l 386 967 l 481 967 l 481 1014 l 243 1014 l 243 967 l 336 967 l 336 914 l 242 914 l 242 865 m 289 11 l 289 78 l 433 78 l 433 11 l 289 11 m 289 726 l 289 779 l 336 779 l 336 726 l 289 726 z "
		},
		Ĩ: {
			ha: 722,
			x_min: 135,
			x_max: 592,
			o:
				"m 592 1111 l 592 -333 l 135 -333 l 135 1111 l 592 1111 m 242 -233 l 481 -233 l 481 -186 l 333 -186 l 435 -118 l 481 -118 l 481 -71 l 242 -71 l 242 -118 l 342 -118 l 242 -186 l 242 -233 m 242 -37 l 481 -37 l 481 126 l 242 126 l 242 -37 m 242 213 l 481 213 l 481 376 l 336 376 l 336 294 l 386 294 l 386 328 l 433 328 l 433 260 l 289 260 l 289 376 l 242 376 l 242 213 m 242 408 l 481 408 l 481 553 l 433 553 l 433 457 l 242 457 l 242 408 m 242 490 l 386 490 l 386 592 l 481 592 l 481 639 l 242 639 l 242 592 l 336 592 l 336 538 l 242 538 l 242 490 m 242 678 l 481 678 l 481 726 l 386 726 l 386 828 l 242 828 l 242 678 m 242 865 l 481 865 l 481 914 l 386 914 l 386 967 l 481 967 l 481 1014 l 243 1014 l 243 967 l 336 967 l 336 914 l 242 914 l 242 865 m 289 11 l 289 78 l 433 78 l 433 11 l 289 11 m 289 726 l 289 779 l 336 779 l 336 726 l 289 726 z "
		},
		ĩ: {
			ha: 722,
			x_min: 135,
			x_max: 592,
			o:
				"m 592 1111 l 592 -333 l 135 -333 l 135 1111 l 592 1111 m 242 -233 l 481 -233 l 481 -186 l 333 -186 l 435 -118 l 481 -118 l 481 -71 l 242 -71 l 242 -118 l 342 -118 l 242 -186 l 242 -233 m 242 -37 l 481 -37 l 481 126 l 242 126 l 242 -37 m 242 213 l 481 213 l 481 376 l 336 376 l 336 294 l 386 294 l 386 328 l 433 328 l 433 260 l 289 260 l 289 376 l 242 376 l 242 213 m 242 408 l 481 408 l 481 553 l 433 553 l 433 457 l 242 457 l 242 408 m 242 490 l 386 490 l 386 592 l 481 592 l 481 639 l 242 639 l 242 592 l 336 592 l 336 538 l 242 538 l 242 490 m 242 678 l 481 678 l 481 726 l 386 726 l 386 828 l 242 828 l 242 678 m 242 865 l 481 865 l 481 914 l 386 914 l 386 967 l 481 967 l 481 1014 l 243 1014 l 243 967 l 336 967 l 336 914 l 242 914 l 242 865 m 289 11 l 289 78 l 433 78 l 433 11 l 289 11 m 289 726 l 289 779 l 336 779 l 336 726 l 289 726 z "
		},
		Ĭ: {
			ha: 722,
			x_min: 135,
			x_max: 592,
			o:
				"m 592 1111 l 592 -333 l 135 -333 l 135 1111 l 592 1111 m 242 -233 l 481 -233 l 481 -186 l 333 -186 l 435 -118 l 481 -118 l 481 -71 l 242 -71 l 242 -118 l 342 -118 l 242 -186 l 242 -233 m 242 -37 l 481 -37 l 481 126 l 242 126 l 242 -37 m 242 213 l 481 213 l 481 376 l 336 376 l 336 294 l 386 294 l 386 328 l 433 328 l 433 260 l 289 260 l 289 376 l 242 376 l 242 213 m 242 408 l 481 408 l 481 553 l 433 553 l 433 457 l 242 457 l 242 408 m 242 490 l 386 490 l 386 592 l 481 592 l 481 639 l 242 639 l 242 592 l 336 592 l 336 538 l 242 538 l 242 490 m 242 678 l 481 678 l 481 726 l 386 726 l 386 828 l 242 828 l 242 678 m 242 865 l 481 865 l 481 914 l 386 914 l 386 967 l 481 967 l 481 1014 l 243 1014 l 243 967 l 336 967 l 336 914 l 242 914 l 242 865 m 289 11 l 289 78 l 433 78 l 433 11 l 289 11 m 289 726 l 289 779 l 336 779 l 336 726 l 289 726 z "
		},
		ĭ: {
			ha: 722,
			x_min: 135,
			x_max: 592,
			o:
				"m 592 1111 l 592 -333 l 135 -333 l 135 1111 l 592 1111 m 242 -233 l 481 -233 l 481 -186 l 333 -186 l 435 -118 l 481 -118 l 481 -71 l 242 -71 l 242 -118 l 342 -118 l 242 -186 l 242 -233 m 242 -37 l 481 -37 l 481 126 l 242 126 l 242 -37 m 242 213 l 481 213 l 481 376 l 336 376 l 336 294 l 386 294 l 386 328 l 433 328 l 433 260 l 289 260 l 289 376 l 242 376 l 242 213 m 242 408 l 481 408 l 481 553 l 433 553 l 433 457 l 242 457 l 242 408 m 242 490 l 386 490 l 386 592 l 481 592 l 481 639 l 242 639 l 242 592 l 336 592 l 336 538 l 242 538 l 242 490 m 242 678 l 481 678 l 481 726 l 386 726 l 386 828 l 242 828 l 242 678 m 242 865 l 481 865 l 481 914 l 386 914 l 386 967 l 481 967 l 481 1014 l 243 1014 l 243 967 l 336 967 l 336 914 l 242 914 l 242 865 m 289 11 l 289 78 l 433 78 l 433 11 l 289 11 m 289 726 l 289 779 l 336 779 l 336 726 l 289 726 z "
		},
		"̉": {
			ha: 722,
			x_min: 135,
			x_max: 592,
			o:
				"m 592 1111 l 592 -333 l 135 -333 l 135 1111 l 592 1111 m 242 -233 l 481 -233 l 481 -186 l 333 -186 l 435 -118 l 481 -118 l 481 -71 l 242 -71 l 242 -118 l 342 -118 l 242 -186 l 242 -233 m 242 -37 l 481 -37 l 481 126 l 242 126 l 242 -37 m 242 213 l 481 213 l 481 376 l 336 376 l 336 294 l 386 294 l 386 328 l 433 328 l 433 260 l 289 260 l 289 376 l 242 376 l 242 213 m 242 408 l 481 408 l 481 553 l 433 553 l 433 457 l 242 457 l 242 408 m 242 490 l 386 490 l 386 592 l 481 592 l 481 639 l 242 639 l 242 592 l 336 592 l 336 538 l 242 538 l 242 490 m 242 678 l 481 678 l 481 726 l 386 726 l 386 828 l 242 828 l 242 678 m 242 865 l 481 865 l 481 914 l 386 914 l 386 967 l 481 967 l 481 1014 l 243 1014 l 243 967 l 336 967 l 336 914 l 242 914 l 242 865 m 289 11 l 289 78 l 433 78 l 433 11 l 289 11 m 289 726 l 289 779 l 336 779 l 336 726 l 289 726 z "
		},
		"―": {
			ha: 722,
			x_min: 135,
			x_max: 592,
			o:
				"m 592 1111 l 592 -333 l 135 -333 l 135 1111 l 592 1111 m 242 -233 l 481 -233 l 481 -186 l 333 -186 l 435 -118 l 481 -118 l 481 -71 l 242 -71 l 242 -118 l 342 -118 l 242 -186 l 242 -233 m 242 -37 l 481 -37 l 481 126 l 242 126 l 242 -37 m 242 213 l 481 213 l 481 376 l 336 376 l 336 294 l 386 294 l 386 328 l 433 328 l 433 260 l 289 260 l 289 376 l 242 376 l 242 213 m 242 408 l 481 408 l 481 553 l 433 553 l 433 457 l 242 457 l 242 408 m 242 490 l 386 490 l 386 592 l 481 592 l 481 639 l 242 639 l 242 592 l 336 592 l 336 538 l 242 538 l 242 490 m 242 678 l 481 678 l 481 726 l 386 726 l 386 828 l 242 828 l 242 678 m 242 865 l 481 865 l 481 914 l 386 914 l 386 967 l 481 967 l 481 1014 l 243 1014 l 243 967 l 336 967 l 336 914 l 242 914 l 242 865 m 289 11 l 289 78 l 433 78 l 433 11 l 289 11 m 289 726 l 289 779 l 336 779 l 336 726 l 289 726 z "
		},
		"‖": {
			ha: 722,
			x_min: 135,
			x_max: 592,
			o:
				"m 592 1111 l 592 -333 l 135 -333 l 135 1111 l 592 1111 m 242 -233 l 481 -233 l 481 -186 l 333 -186 l 435 -118 l 481 -118 l 481 -71 l 242 -71 l 242 -118 l 342 -118 l 242 -186 l 242 -233 m 242 -37 l 481 -37 l 481 126 l 242 126 l 242 -37 m 242 213 l 481 213 l 481 376 l 336 376 l 336 294 l 386 294 l 386 328 l 433 328 l 433 260 l 289 260 l 289 376 l 242 376 l 242 213 m 242 408 l 481 408 l 481 553 l 433 553 l 433 457 l 242 457 l 242 408 m 242 490 l 386 490 l 386 592 l 481 592 l 481 639 l 242 639 l 242 592 l 336 592 l 336 538 l 242 538 l 242 490 m 242 678 l 481 678 l 481 726 l 386 726 l 386 828 l 242 828 l 242 678 m 242 865 l 481 865 l 481 914 l 386 914 l 386 967 l 481 967 l 481 1014 l 243 1014 l 243 967 l 336 967 l 336 914 l 242 914 l 242 865 m 289 11 l 289 78 l 433 78 l 433 11 l 289 11 m 289 726 l 289 779 l 336 779 l 336 726 l 289 726 z "
		},
		"‗": {
			ha: 722,
			x_min: 135,
			x_max: 592,
			o:
				"m 592 1111 l 592 -333 l 135 -333 l 135 1111 l 592 1111 m 242 -233 l 481 -233 l 481 -186 l 333 -186 l 435 -118 l 481 -118 l 481 -71 l 242 -71 l 242 -118 l 342 -118 l 242 -186 l 242 -233 m 242 -37 l 481 -37 l 481 126 l 242 126 l 242 -37 m 242 213 l 481 213 l 481 376 l 336 376 l 336 294 l 386 294 l 386 328 l 433 328 l 433 260 l 289 260 l 289 376 l 242 376 l 242 213 m 242 408 l 481 408 l 481 553 l 433 553 l 433 457 l 242 457 l 242 408 m 242 490 l 386 490 l 386 592 l 481 592 l 481 639 l 242 639 l 242 592 l 336 592 l 336 538 l 242 538 l 242 490 m 242 678 l 481 678 l 481 726 l 386 726 l 386 828 l 242 828 l 242 678 m 242 865 l 481 865 l 481 914 l 386 914 l 386 967 l 481 967 l 481 1014 l 243 1014 l 243 967 l 336 967 l 336 914 l 242 914 l 242 865 m 289 11 l 289 78 l 433 78 l 433 11 l 289 11 m 289 726 l 289 779 l 336 779 l 336 726 l 289 726 z "
		},
		"‛": {
			ha: 722,
			x_min: 135,
			x_max: 592,
			o:
				"m 592 1111 l 592 -333 l 135 -333 l 135 1111 l 592 1111 m 242 -233 l 481 -233 l 481 -186 l 333 -186 l 435 -118 l 481 -118 l 481 -71 l 242 -71 l 242 -118 l 342 -118 l 242 -186 l 242 -233 m 242 -37 l 481 -37 l 481 126 l 242 126 l 242 -37 m 242 213 l 481 213 l 481 376 l 336 376 l 336 294 l 386 294 l 386 328 l 433 328 l 433 260 l 289 260 l 289 376 l 242 376 l 242 213 m 242 408 l 481 408 l 481 553 l 433 553 l 433 457 l 242 457 l 242 408 m 242 490 l 386 490 l 386 592 l 481 592 l 481 639 l 242 639 l 242 592 l 336 592 l 336 538 l 242 538 l 242 490 m 242 678 l 481 678 l 481 726 l 386 726 l 386 828 l 242 828 l 242 678 m 242 865 l 481 865 l 481 914 l 386 914 l 386 967 l 481 967 l 481 1014 l 243 1014 l 243 967 l 336 967 l 336 914 l 242 914 l 242 865 m 289 11 l 289 78 l 433 78 l 433 11 l 289 11 m 289 726 l 289 779 l 336 779 l 336 726 l 289 726 z "
		},
		"‟": {
			ha: 722,
			x_min: 135,
			x_max: 592,
			o:
				"m 592 1111 l 592 -333 l 135 -333 l 135 1111 l 592 1111 m 242 -233 l 481 -233 l 481 -186 l 333 -186 l 435 -118 l 481 -118 l 481 -71 l 242 -71 l 242 -118 l 342 -118 l 242 -186 l 242 -233 m 242 -37 l 481 -37 l 481 126 l 242 126 l 242 -37 m 242 213 l 481 213 l 481 376 l 336 376 l 336 294 l 386 294 l 386 328 l 433 328 l 433 260 l 289 260 l 289 376 l 242 376 l 242 213 m 242 408 l 481 408 l 481 553 l 433 553 l 433 457 l 242 457 l 242 408 m 242 490 l 386 490 l 386 592 l 481 592 l 481 639 l 242 639 l 242 592 l 336 592 l 336 538 l 242 538 l 242 490 m 242 678 l 481 678 l 481 726 l 386 726 l 386 828 l 242 828 l 242 678 m 242 865 l 481 865 l 481 914 l 386 914 l 386 967 l 481 967 l 481 1014 l 243 1014 l 243 967 l 336 967 l 336 914 l 242 914 l 242 865 m 289 11 l 289 78 l 433 78 l 433 11 l 289 11 m 289 726 l 289 779 l 336 779 l 336 726 l 289 726 z "
		},
		"‣": {
			ha: 722,
			x_min: 135,
			x_max: 592,
			o:
				"m 592 1111 l 592 -333 l 135 -333 l 135 1111 l 592 1111 m 242 -233 l 481 -233 l 481 -186 l 333 -186 l 435 -118 l 481 -118 l 481 -71 l 242 -71 l 242 -118 l 342 -118 l 242 -186 l 242 -233 m 242 -37 l 481 -37 l 481 126 l 242 126 l 242 -37 m 242 213 l 481 213 l 481 376 l 336 376 l 336 294 l 386 294 l 386 328 l 433 328 l 433 260 l 289 260 l 289 376 l 242 376 l 242 213 m 242 408 l 481 408 l 481 553 l 433 553 l 433 457 l 242 457 l 242 408 m 242 490 l 386 490 l 386 592 l 481 592 l 481 639 l 242 639 l 242 592 l 336 592 l 336 538 l 242 538 l 242 490 m 242 678 l 481 678 l 481 726 l 386 726 l 386 828 l 242 828 l 242 678 m 242 865 l 481 865 l 481 914 l 386 914 l 386 967 l 481 967 l 481 1014 l 243 1014 l 243 967 l 336 967 l 336 914 l 242 914 l 242 865 m 289 11 l 289 78 l 433 78 l 433 11 l 289 11 m 289 726 l 289 779 l 336 779 l 336 726 l 289 726 z "
		},
		"․": {
			ha: 722,
			x_min: 135,
			x_max: 592,
			o:
				"m 592 1111 l 592 -333 l 135 -333 l 135 1111 l 592 1111 m 242 -233 l 481 -233 l 481 -186 l 333 -186 l 435 -118 l 481 -118 l 481 -71 l 242 -71 l 242 -118 l 342 -118 l 242 -186 l 242 -233 m 242 -37 l 481 -37 l 481 126 l 242 126 l 242 -37 m 242 213 l 481 213 l 481 376 l 336 376 l 336 294 l 386 294 l 386 328 l 433 328 l 433 260 l 289 260 l 289 376 l 242 376 l 242 213 m 242 408 l 481 408 l 481 553 l 433 553 l 433 457 l 242 457 l 242 408 m 242 490 l 386 490 l 386 592 l 481 592 l 481 639 l 242 639 l 242 592 l 336 592 l 336 538 l 242 538 l 242 490 m 242 678 l 481 678 l 481 726 l 386 726 l 386 828 l 242 828 l 242 678 m 242 865 l 481 865 l 481 914 l 386 914 l 386 967 l 481 967 l 481 1014 l 243 1014 l 243 967 l 336 967 l 336 914 l 242 914 l 242 865 m 289 11 l 289 78 l 433 78 l 433 11 l 289 11 m 289 726 l 289 779 l 336 779 l 336 726 l 289 726 z "
		},
		"‥": {
			ha: 722,
			x_min: 135,
			x_max: 592,
			o:
				"m 592 1111 l 592 -333 l 135 -333 l 135 1111 l 592 1111 m 242 -233 l 481 -233 l 481 -186 l 333 -186 l 435 -118 l 481 -118 l 481 -71 l 242 -71 l 242 -118 l 342 -118 l 242 -186 l 242 -233 m 242 -37 l 481 -37 l 481 126 l 242 126 l 242 -37 m 242 213 l 481 213 l 481 376 l 336 376 l 336 294 l 386 294 l 386 328 l 433 328 l 433 260 l 289 260 l 289 376 l 242 376 l 242 213 m 242 408 l 481 408 l 481 553 l 433 553 l 433 457 l 242 457 l 242 408 m 242 490 l 386 490 l 386 592 l 481 592 l 481 639 l 242 639 l 242 592 l 336 592 l 336 538 l 242 538 l 242 490 m 242 678 l 481 678 l 481 726 l 386 726 l 386 828 l 242 828 l 242 678 m 242 865 l 481 865 l 481 914 l 386 914 l 386 967 l 481 967 l 481 1014 l 243 1014 l 243 967 l 336 967 l 336 914 l 242 914 l 242 865 m 289 11 l 289 78 l 433 78 l 433 11 l 289 11 m 289 726 l 289 779 l 336 779 l 336 726 l 289 726 z "
		},
		"∐": {
			ha: 722,
			x_min: 135,
			x_max: 592,
			o:
				"m 592 1111 l 592 -333 l 135 -333 l 135 1111 l 592 1111 m 242 -233 l 481 -233 l 481 -186 l 333 -186 l 435 -118 l 481 -118 l 481 -71 l 242 -71 l 242 -118 l 342 -118 l 242 -186 l 242 -233 m 242 -37 l 481 -37 l 481 126 l 242 126 l 242 -37 m 242 213 l 481 213 l 481 376 l 336 376 l 336 294 l 386 294 l 386 328 l 433 328 l 433 260 l 289 260 l 289 376 l 242 376 l 242 213 m 242 408 l 481 408 l 481 553 l 433 553 l 433 457 l 242 457 l 242 408 m 242 490 l 386 490 l 386 592 l 481 592 l 481 639 l 242 639 l 242 592 l 336 592 l 336 538 l 242 538 l 242 490 m 242 678 l 481 678 l 481 726 l 386 726 l 386 828 l 242 828 l 242 678 m 242 865 l 481 865 l 481 914 l 386 914 l 386 967 l 481 967 l 481 1014 l 243 1014 l 243 967 l 336 967 l 336 914 l 242 914 l 242 865 m 289 11 l 289 78 l 433 78 l 433 11 l 289 11 m 289 726 l 289 779 l 336 779 l 336 726 l 289 726 z "
		},
		"∑": {
			ha: 722,
			x_min: 135,
			x_max: 592,
			o:
				"m 592 1111 l 592 -333 l 135 -333 l 135 1111 l 592 1111 m 242 -233 l 481 -233 l 481 -186 l 333 -186 l 435 -118 l 481 -118 l 481 -71 l 242 -71 l 242 -118 l 342 -118 l 242 -186 l 242 -233 m 242 -37 l 481 -37 l 481 126 l 242 126 l 242 -37 m 242 213 l 481 213 l 481 376 l 336 376 l 336 294 l 386 294 l 386 328 l 433 328 l 433 260 l 289 260 l 289 376 l 242 376 l 242 213 m 242 408 l 481 408 l 481 553 l 433 553 l 433 457 l 242 457 l 242 408 m 242 490 l 386 490 l 386 592 l 481 592 l 481 639 l 242 639 l 242 592 l 336 592 l 336 538 l 242 538 l 242 490 m 242 678 l 481 678 l 481 726 l 386 726 l 386 828 l 242 828 l 242 678 m 242 865 l 481 865 l 481 914 l 386 914 l 386 967 l 481 967 l 481 1014 l 243 1014 l 243 967 l 336 967 l 336 914 l 242 914 l 242 865 m 289 11 l 289 78 l 433 78 l 433 11 l 289 11 m 289 726 l 289 779 l 336 779 l 336 726 l 289 726 z "
		},
		"≡": {
			ha: 722,
			x_min: 135,
			x_max: 592,
			o:
				"m 592 1111 l 592 -333 l 135 -333 l 135 1111 l 592 1111 m 242 -233 l 481 -233 l 481 -186 l 333 -186 l 435 -118 l 481 -118 l 481 -71 l 242 -71 l 242 -118 l 342 -118 l 242 -186 l 242 -233 m 242 -37 l 481 -37 l 481 126 l 242 126 l 242 -37 m 242 213 l 481 213 l 481 376 l 336 376 l 336 294 l 386 294 l 386 328 l 433 328 l 433 260 l 289 260 l 289 376 l 242 376 l 242 213 m 242 408 l 481 408 l 481 553 l 433 553 l 433 457 l 242 457 l 242 408 m 242 490 l 386 490 l 386 592 l 481 592 l 481 639 l 242 639 l 242 592 l 336 592 l 336 538 l 242 538 l 242 490 m 242 678 l 481 678 l 481 726 l 386 726 l 386 828 l 242 828 l 242 678 m 242 865 l 481 865 l 481 914 l 386 914 l 386 967 l 481 967 l 481 1014 l 243 1014 l 243 967 l 336 967 l 336 914 l 242 914 l 242 865 m 289 11 l 289 78 l 433 78 l 433 11 l 289 11 m 289 726 l 289 779 l 336 779 l 336 726 l 289 726 z "
		},
		"≢": {
			ha: 722,
			x_min: 135,
			x_max: 592,
			o:
				"m 592 1111 l 592 -333 l 135 -333 l 135 1111 l 592 1111 m 242 -233 l 481 -233 l 481 -186 l 333 -186 l 435 -118 l 481 -118 l 481 -71 l 242 -71 l 242 -118 l 342 -118 l 242 -186 l 242 -233 m 242 -37 l 481 -37 l 481 126 l 242 126 l 242 -37 m 242 213 l 481 213 l 481 376 l 336 376 l 336 294 l 386 294 l 386 328 l 433 328 l 433 260 l 289 260 l 289 376 l 242 376 l 242 213 m 242 408 l 481 408 l 481 553 l 433 553 l 433 457 l 242 457 l 242 408 m 242 490 l 386 490 l 386 592 l 481 592 l 481 639 l 242 639 l 242 592 l 336 592 l 336 538 l 242 538 l 242 490 m 242 678 l 481 678 l 481 726 l 386 726 l 386 828 l 242 828 l 242 678 m 242 865 l 481 865 l 481 914 l 386 914 l 386 967 l 481 967 l 481 1014 l 243 1014 l 243 967 l 336 967 l 336 914 l 242 914 l 242 865 m 289 11 l 289 78 l 433 78 l 433 11 l 289 11 m 289 726 l 289 779 l 336 779 l 336 726 l 289 726 z "
		},
		"≣": {
			ha: 722,
			x_min: 135,
			x_max: 592,
			o:
				"m 592 1111 l 592 -333 l 135 -333 l 135 1111 l 592 1111 m 242 -233 l 481 -233 l 481 -186 l 333 -186 l 435 -118 l 481 -118 l 481 -71 l 242 -71 l 242 -118 l 342 -118 l 242 -186 l 242 -233 m 242 -37 l 481 -37 l 481 126 l 242 126 l 242 -37 m 242 213 l 481 213 l 481 376 l 336 376 l 336 294 l 386 294 l 386 328 l 433 328 l 433 260 l 289 260 l 289 376 l 242 376 l 242 213 m 242 408 l 481 408 l 481 553 l 433 553 l 433 457 l 242 457 l 242 408 m 242 490 l 386 490 l 386 592 l 481 592 l 481 639 l 242 639 l 242 592 l 336 592 l 336 538 l 242 538 l 242 490 m 242 678 l 481 678 l 481 726 l 386 726 l 386 828 l 242 828 l 242 678 m 242 865 l 481 865 l 481 914 l 386 914 l 386 967 l 481 967 l 481 1014 l 243 1014 l 243 967 l 336 967 l 336 914 l 242 914 l 242 865 m 289 11 l 289 78 l 433 78 l 433 11 l 289 11 m 289 726 l 289 779 l 336 779 l 336 726 l 289 726 z "
		},
		" ": { ha: 542, x_min: 0, x_max: 0, o: "" },
		" ": { ha: 542, x_min: 0, x_max: 0, o: "" },
		"!": {
			ha: 532,
			x_min: 85,
			x_max: 449,
			o:
				"m 99 336 l 85 1001 l 449 1001 l 433 336 l 99 336 m 97 0 l 97 251 l 436 251 l 436 0 l 97 0 z "
		},
		'"': {
			ha: 968,
			x_min: 82,
			x_max: 886,
			o:
				"m 553 553 l 524 1085 l 886 1085 l 858 553 l 553 553 m 82 1085 l 444 1085 l 417 553 l 111 553 l 82 1085 z "
		},
		"#": {
			ha: 1818,
			x_min: 96,
			x_max: 1722,
			o:
				"m 883 -208 l 960 43 l 622 43 l 546 -208 l 240 -208 l 317 43 l 96 43 l 96 276 l 388 276 l 472 557 l 232 557 l 232 790 l 543 790 l 636 1097 l 942 1097 l 849 790 l 1186 790 l 1279 1097 l 1583 1097 l 1490 790 l 1722 790 l 1722 557 l 1419 557 l 1335 276 l 1586 276 l 1586 43 l 1265 43 l 1189 -208 l 883 -208 m 693 276 l 1031 276 l 1115 557 l 778 557 l 693 276 z "
		},
		$: {
			ha: 1367,
			x_min: 68,
			x_max: 1300,
			o:
				"m 581 -139 l 581 -24 q 205 76 333 -8 q 68 329 76 161 l 407 329 q 581 214 407 235 l 581 388 q 202 485 321 408 q 83 714 83 563 q 215 932 83 854 q 581 1019 346 1010 l 581 1111 l 779 1111 l 779 1015 q 1129 912 1008 997 q 1258 681 1250 826 l 919 681 q 779 778 919 760 l 779 621 q 957 602 886 613 q 1099 569 1028 592 q 1210 515 1169 547 q 1275 429 1250 482 q 1300 304 1300 376 q 1169 58 1300 133 q 779 -26 1038 -18 l 779 -139 l 581 -139 m 422 714 q 453 664 422 681 q 581 636 485 647 l 581 783 q 422 714 422 776 m 779 210 q 924 235 886 215 q 961 292 961 254 q 927 348 961 332 q 779 374 893 364 l 779 210 z "
		},
		"%": {
			ha: 2090,
			x_min: 82,
			x_max: 2008,
			o:
				"m 599 0 l 1226 1001 l 1492 1001 l 863 0 l 599 0 m 82 692 q 187 925 82 826 q 476 1024 292 1024 q 766 925 661 1024 q 871 692 871 826 q 766 456 871 554 q 476 357 661 357 q 187 456 292 357 q 82 692 82 554 m 329 692 q 364 590 329 631 q 476 549 399 549 q 590 590 554 549 q 625 692 625 631 q 590 792 625 751 q 476 832 554 832 q 364 792 399 832 q 329 692 329 751 m 1219 303 q 1324 538 1219 440 q 1614 636 1429 636 q 1903 538 1799 636 q 2008 303 2008 440 q 1903 69 2008 167 q 1614 -29 1799 -29 q 1324 69 1429 -29 q 1219 303 1219 167 m 1465 303 q 1501 203 1465 243 q 1614 163 1536 163 q 1726 203 1690 163 q 1761 303 1761 243 q 1726 405 1761 364 q 1614 446 1690 446 q 1501 405 1536 446 q 1465 303 1465 364 z "
		},
		"&": {
			ha: 1569,
			x_min: 81,
			x_max: 1488,
			o:
				"m 574 -28 q 208 44 335 -28 q 81 251 81 117 q 145 404 81 342 q 358 517 210 467 q 257 625 288 574 q 226 738 226 676 q 339 929 226 858 q 644 1000 451 1000 q 935 933 825 1000 q 1044 756 1044 867 q 974 608 1044 669 q 756 506 903 547 l 1014 328 q 1086 532 1068 406 l 1335 532 q 1199 200 1314 335 l 1488 0 l 1101 0 l 1014 61 q 574 -28 833 -28 m 403 299 q 649 179 403 179 q 817 197 746 179 l 490 425 q 403 299 403 372 m 519 717 q 539 665 519 689 q 606 610 558 642 l 631 593 q 758 649 719 619 q 796 721 796 679 q 760 784 796 761 q 661 807 724 807 q 558 782 596 807 q 519 717 519 757 z "
		},
		"'": {
			ha: 526,
			x_min: 82,
			x_max: 444,
			o: "m 111 553 l 82 1085 l 444 1085 l 417 553 l 111 553 z "
		},
		"(": {
			ha: 886,
			x_min: 82,
			x_max: 803,
			o:
				"m 803 -278 q 505 -243 632 -278 q 280 -129 378 -208 q 132 87 182 -50 q 82 417 82 224 q 132 747 82 610 q 280 962 182 883 q 506 1076 378 1040 q 803 1111 633 1111 l 803 861 q 579 823 663 861 q 452 687 496 785 q 408 417 408 589 q 453 146 408 244 q 580 10 497 47 q 803 -28 663 -28 l 803 -278 z "
		},
		")": {
			ha: 886,
			x_min: 83,
			x_max: 804,
			o:
				"m 83 1111 q 381 1076 254 1111 q 606 963 508 1042 q 754 747 704 883 q 804 417 804 610 q 754 87 804 224 q 606 -128 704 -50 q 381 -242 508 -207 q 83 -278 253 -278 l 83 -28 q 307 10 224 -28 q 434 147 390 49 q 478 417 478 244 q 433 688 478 589 q 306 824 389 786 q 83 861 224 861 l 83 1111 z "
		},
		"*": {
			ha: 900,
			x_min: 82,
			x_max: 818,
			o:
				"m 354 463 l 389 699 l 164 551 l 82 708 l 343 801 l 82 896 l 164 1051 l 389 904 l 354 1140 l 546 1140 l 514 904 l 738 1053 l 818 896 l 556 801 l 818 708 l 738 553 l 514 699 l 546 463 l 354 463 z "
		},
		"+": {
			ha: 1269,
			x_min: 82,
			x_max: 1186,
			o:
				"m 488 0 l 488 356 l 82 356 l 82 589 l 488 589 l 488 944 l 781 944 l 781 589 l 1186 589 l 1186 356 l 781 356 l 781 0 l 488 0 z "
		},
		",": {
			ha: 503,
			x_min: 82,
			x_max: 421,
			o:
				"m 113 -306 l 208 0 l 82 0 l 82 253 l 421 253 l 421 0 l 263 -306 l 113 -306 z "
		},
		"-": {
			ha: 1324,
			x_min: 110,
			x_max: 1214,
			o: "m 110 356 l 110 589 l 1214 589 l 1214 356 l 110 356 z "
		},
		".": {
			ha: 503,
			x_min: 82,
			x_max: 421,
			o: "m 82 0 l 82 253 l 421 253 l 421 0 l 82 0 z "
		},
		"/": {
			ha: 894,
			x_min: 96,
			x_max: 799,
			o: "m 96 -208 l 493 1097 l 799 1097 l 403 -208 l 96 -208 z "
		},
		":": {
			ha: 503,
			x_min: 82,
			x_max: 421,
			o:
				"m 82 0 l 82 253 l 421 253 l 421 0 l 82 0 m 82 417 l 82 669 l 421 669 l 421 417 l 82 417 z "
		},
		";": {
			ha: 503,
			x_min: 82,
			x_max: 421,
			o:
				"m 113 -306 l 208 0 l 82 0 l 82 253 l 421 253 l 421 0 l 263 -306 l 113 -306 m 82 417 l 82 669 l 421 669 l 421 417 l 82 417 z "
		},
		"<": {
			ha: 1267,
			x_min: 82,
			x_max: 1185,
			o:
				"m 1185 829 l 1185 563 l 339 472 l 1185 381 l 1185 114 l 82 265 l 82 679 l 1185 829 z "
		},
		"=": {
			ha: 1268,
			x_min: 82,
			x_max: 1186,
			o:
				"m 82 578 l 82 811 l 1186 811 l 1186 578 l 82 578 m 82 133 l 82 367 l 1186 367 l 1186 133 l 82 133 z "
		},
		">": {
			ha: 1267,
			x_min: 82,
			x_max: 1185,
			o:
				"m 82 115 l 82 382 l 928 472 l 82 564 l 82 831 l 1185 679 l 1185 265 l 82 115 z "
		},
		"?": {
			ha: 1188,
			x_min: 86,
			x_max: 1111,
			o:
				"m 410 329 q 447 474 410 414 q 538 565 485 535 q 644 618 592 596 q 735 665 697 640 q 772 724 772 690 q 619 803 772 803 q 399 633 399 803 l 86 633 q 632 1021 106 1021 q 986 953 861 1021 q 1111 763 1111 886 q 1083 656 1111 701 q 1011 586 1054 611 q 917 535 968 561 q 824 487 867 510 q 752 424 781 464 q 724 329 724 383 l 410 329 m 397 0 l 397 253 l 736 253 l 736 0 l 397 0 z "
		},
		"@": {
			ha: 2024,
			x_min: 68,
			x_max: 1956,
			o:
				"m 1033 -358 q 324 -159 579 -358 q 68 382 68 40 q 331 935 68 731 q 1057 1139 593 1139 q 1718 959 1481 1139 q 1956 472 1956 779 q 1842 138 1956 263 q 1538 13 1728 13 q 1350 56 1429 13 q 1235 178 1271 99 q 911 26 1143 26 q 631 121 735 26 q 528 386 528 215 q 631 652 528 557 q 911 747 735 747 q 1207 635 1110 747 l 1207 728 l 1425 728 l 1425 335 q 1462 240 1425 275 q 1560 206 1499 206 q 1669 271 1628 206 q 1711 443 1711 336 q 1540 800 1711 669 q 1057 931 1369 931 q 508 785 703 931 q 313 390 313 640 q 506 -6 313 139 q 1049 -150 699 -150 q 1489 -94 1260 -150 l 1544 -292 q 1033 -358 1326 -358 m 817 501 q 788 480 817 501 q 760 386 760 460 q 817 272 760 313 q 972 232 874 232 q 1147 272 1086 232 q 1207 386 1207 313 q 1147 502 1207 463 q 972 542 1088 542 q 817 501 874 542 z "
		},
		A: {
			ha: 1574,
			x_min: 68,
			x_max: 1506,
			o:
				"m 68 0 l 579 997 l 996 997 l 1506 0 l 1157 0 l 1069 185 l 504 185 l 415 0 l 68 0 m 615 419 l 957 419 l 786 776 l 615 419 z "
		},
		B: {
			ha: 1319,
			x_min: 82,
			x_max: 1251,
			o:
				"m 82 0 l 82 997 l 853 997 q 1116 933 1038 997 q 1194 753 1194 869 q 1022 522 1194 583 q 1251 275 1251 464 q 1169 73 1251 146 q 910 0 1086 0 l 82 0 m 408 236 l 806 236 q 848 238 832 236 q 881 248 864 240 q 905 273 897 256 q 913 318 913 290 q 885 385 913 371 q 806 400 858 400 l 408 400 l 408 236 m 408 599 l 750 599 q 813 603 790 599 q 851 626 835 607 q 868 682 868 644 q 840 747 868 733 q 750 761 813 761 l 408 761 l 408 599 z "
		},
		C: {
			ha: 1454,
			x_min: 68,
			x_max: 1386,
			o:
				"m 731 -28 q 249 116 431 -28 q 68 499 68 260 q 249 878 68 736 q 731 1021 431 1021 q 1187 903 1007 1021 q 1386 594 1367 786 l 1039 594 q 942 704 1026 661 q 731 747 857 747 q 497 679 585 747 q 408 499 408 611 q 497 317 408 386 q 731 247 585 247 q 942 291 857 247 q 1039 401 1026 335 l 1386 401 q 1187 90 1367 207 q 731 -28 1007 -28 z "
		},
		D: {
			ha: 1361,
			x_min: 82,
			x_max: 1293,
			o:
				"m 82 0 l 82 997 l 794 997 q 1152 857 1011 997 q 1293 500 1293 717 q 1152 142 1293 283 q 794 0 1011 0 l 82 0 m 408 275 l 663 275 q 956 500 956 275 q 663 722 956 722 l 408 722 l 408 275 z "
		},
		E: {
			ha: 1185,
			x_min: 82,
			x_max: 1101,
			o:
				"m 82 0 l 82 997 l 1101 997 l 1101 751 l 408 751 l 408 611 l 1074 611 l 1074 388 l 408 388 l 408 246 l 1101 246 l 1101 0 l 82 0 z "
		},
		F: {
			ha: 1185,
			x_min: 82,
			x_max: 1101,
			o:
				"m 82 0 l 82 997 l 1101 997 l 1101 722 l 408 722 l 408 556 l 1018 556 l 1018 281 l 408 281 l 408 0 l 82 0 z "
		},
		G: {
			ha: 1465,
			x_min: 67,
			x_max: 1399,
			o:
				"m 769 -28 q 258 114 450 -28 q 67 493 67 256 q 252 877 67 733 q 747 1021 438 1021 q 1208 913 1029 1021 q 1399 628 1386 804 l 1049 628 q 952 710 1035 676 q 750 744 869 744 q 501 674 593 744 q 410 493 410 604 q 510 313 410 376 q 789 249 610 249 q 1136 306 990 249 l 1136 354 l 722 354 l 722 557 l 1399 557 l 1399 126 q 1117 13 1286 53 q 769 -28 947 -28 z "
		},
		H: {
			ha: 1414,
			x_min: 82,
			x_max: 1332,
			o:
				"m 82 0 l 82 997 l 408 997 l 408 636 l 1006 636 l 1006 997 l 1332 997 l 1332 0 l 1006 0 l 1006 363 l 408 363 l 408 0 l 82 0 z "
		},
		I: {
			ha: 490,
			x_min: 82,
			x_max: 408,
			o: "m 82 0 l 82 997 l 408 997 l 408 0 l 82 0 z "
		},
		J: {
			ha: 1321,
			x_min: 82,
			x_max: 1240,
			o:
				"m 661 -28 q 82 488 82 -28 l 408 488 q 661 247 408 247 q 913 488 913 247 l 913 722 l 539 722 l 539 997 l 1240 997 l 1240 488 q 1101 101 1240 231 q 661 -28 963 -28 z "
		},
		K: {
			ha: 1401,
			x_min: 82,
			x_max: 1333,
			o:
				"m 82 0 l 82 997 l 408 997 l 408 601 l 853 997 l 1333 997 l 864 596 l 1333 0 l 936 0 l 629 396 l 408 208 l 408 0 l 82 0 z "
		},
		L: {
			ha: 1126,
			x_min: 82,
			x_max: 1074,
			o: "m 82 0 l 82 997 l 408 997 l 408 275 l 1074 275 l 1074 0 l 82 0 z "
		},
		M: {
			ha: 1772,
			x_min: 82,
			x_max: 1690,
			o:
				"m 82 0 l 82 997 l 592 997 l 888 376 l 1182 997 l 1690 997 l 1690 0 l 1364 0 l 1364 688 l 1039 0 l 735 0 l 408 688 l 408 0 l 82 0 z "
		},
		N: {
			ha: 1483,
			x_min: 82,
			x_max: 1401,
			o:
				"m 82 0 l 82 997 l 565 997 l 1075 314 l 1075 997 l 1401 997 l 1401 0 l 918 0 l 408 685 l 408 0 l 82 0 z "
		},
		O: {
			ha: 1535,
			x_min: 68,
			x_max: 1467,
			o:
				"m 767 -28 q 258 116 449 -28 q 68 499 68 260 q 258 878 68 736 q 767 1021 449 1021 q 1276 878 1086 1021 q 1467 499 1467 736 q 1276 115 1467 258 q 767 -28 1086 -28 m 408 499 q 506 316 408 385 q 767 247 604 247 q 1030 316 932 247 q 1128 499 1128 385 q 1030 679 1128 611 q 767 747 932 747 q 506 679 603 747 q 408 499 408 611 z "
		},
		P: {
			ha: 1331,
			x_min: 82,
			x_max: 1263,
			o:
				"m 82 0 l 82 997 l 863 997 q 1156 898 1050 997 q 1263 622 1263 799 q 1156 347 1263 446 q 863 247 1049 247 l 408 247 l 408 0 l 82 0 m 408 521 l 785 521 q 890 542 858 521 q 922 622 922 564 q 890 701 922 681 q 785 722 858 722 l 408 722 l 408 521 z "
		},
		Q: {
			ha: 1510,
			x_min: 68,
			x_max: 1467,
			o:
				"m 1250 -83 l 1121 31 q 767 -28 965 -28 q 258 116 449 -28 q 68 499 68 260 q 258 878 68 736 q 767 1021 449 1021 q 1276 878 1086 1021 q 1467 499 1467 736 q 1319 151 1467 290 l 1408 74 l 1250 -83 m 408 499 q 506 316 408 385 q 767 247 604 247 q 868 256 819 247 l 719 386 l 876 543 l 1081 363 q 1128 499 1128 422 q 1030 679 1128 611 q 767 747 932 747 q 506 679 603 747 q 408 499 408 611 z "
		},
		R: {
			ha: 1399,
			x_min: 82,
			x_max: 1304,
			o:
				"m 82 0 l 408 0 l 408 282 l 863 282 q 953 258 929 282 q 976 167 976 233 l 976 0 l 1303 0 l 1303 219 q 1247 363 1303 310 q 1094 424 1192 417 q 1304 692 1304 486 q 894 997 1304 997 l 82 997 l 82 0 m 408 543 l 408 736 l 817 736 q 927 716 890 736 q 964 640 964 696 q 927 563 964 583 q 817 543 890 543 l 408 543 z "
		},
		S: {
			ha: 1367,
			x_min: 68,
			x_max: 1300,
			o:
				"m 713 -28 q 239 56 400 -28 q 68 329 78 139 l 407 329 q 699 208 407 208 q 865 219 806 208 q 942 246 924 229 q 961 292 961 263 q 940 339 961 324 q 864 363 919 354 q 682 381 808 372 l 633 383 q 214 477 344 400 q 83 714 83 554 q 233 942 83 864 q 644 1021 382 1021 q 1093 934 938 1021 q 1258 681 1249 847 l 919 681 q 853 760 919 736 q 642 785 786 785 q 469 767 517 785 q 422 714 422 749 q 472 656 422 674 q 683 628 521 639 l 740 624 q 879 611 824 617 q 999 594 935 606 q 1104 567 1063 582 q 1186 529 1146 553 q 1249 475 1226 506 q 1286 401 1272 444 q 1300 304 1300 358 q 1152 48 1300 124 q 713 -28 1004 -28 z "
		},
		T: {
			ha: 1322,
			x_min: 68,
			x_max: 1254,
			o:
				"m 68 722 l 68 997 l 1254 997 l 1254 722 l 825 722 l 825 0 l 499 0 l 499 722 l 68 722 z "
		},
		U: {
			ha: 1376,
			x_min: 82,
			x_max: 1296,
			o:
				"m 689 -28 q 228 101 374 -28 q 82 488 82 231 l 82 997 l 408 997 l 408 499 q 689 247 408 247 q 826 269 769 247 q 913 328 883 290 q 956 407 943 365 q 968 499 968 449 l 968 997 l 1296 997 l 1296 488 q 1149 101 1296 231 q 689 -28 1003 -28 z "
		},
		V: {
			ha: 1574,
			x_min: 68,
			x_max: 1506,
			o:
				"m 553 0 l 68 997 l 415 997 l 786 221 l 1157 997 l 1506 997 l 1018 0 l 553 0 z "
		},
		W: {
			ha: 2301,
			x_min: 68,
			x_max: 2233,
			o:
				"m 399 0 l 68 997 l 397 997 l 640 244 l 935 997 l 1367 997 l 1661 244 l 1904 997 l 2233 997 l 1903 0 l 1433 0 l 1151 735 l 869 0 l 399 0 z "
		},
		X: {
			ha: 1575,
			x_min: 68,
			x_max: 1507,
			o:
				"m 68 0 l 565 499 l 68 997 l 508 997 l 789 693 l 1068 997 l 1507 997 l 1011 499 l 1507 0 l 1068 0 l 789 304 l 508 0 l 68 0 z "
		},
		Y: {
			ha: 1543,
			x_min: 68,
			x_max: 1475,
			o:
				"m 608 0 l 608 333 l 68 997 l 474 997 l 771 607 l 1069 997 l 1475 997 l 935 333 l 935 0 l 608 0 z "
		},
		Z: {
			ha: 1279,
			x_min: 82,
			x_max: 1199,
			o:
				"m 82 0 l 82 275 l 726 722 l 82 722 l 82 997 l 1199 997 l 1199 722 l 550 275 l 1199 275 l 1199 0 l 82 0 z "
		},
		"[": {
			ha: 886,
			x_min: 82,
			x_max: 803,
			o:
				"m 82 -278 l 82 1111 l 803 1111 l 803 861 l 408 861 l 408 -28 l 803 -28 l 803 -278 l 82 -278 z "
		},
		"\\": {
			ha: 865,
			x_min: 82,
			x_max: 783,
			o: "m 478 -208 l 82 1097 l 388 1097 l 783 -208 l 478 -208 z "
		},
		"]": {
			ha: 886,
			x_min: 83,
			x_max: 804,
			o:
				"m 804 1111 l 804 -278 l 83 -278 l 83 -28 l 478 -28 l 478 861 l 83 861 l 83 1111 l 804 1111 z "
		},
		"^": {
			ha: 1268,
			x_min: 82,
			x_max: 1186,
			o:
				"m 82 486 l 426 1111 l 844 1111 l 1186 486 l 886 486 l 635 963 l 382 486 l 82 486 z "
		},
		_: {
			ha: 1601,
			x_min: 110,
			x_max: 1492,
			o: "m 110 -304 l 110 -57 l 1492 -57 l 1492 -304 l 110 -304 z "
		},
		"`": {
			ha: 746,
			x_min: 139,
			x_max: 676,
			o: "m 676 928 l 139 1039 l 139 1201 l 676 1090 l 676 928 z "
		},
		a: {
			ha: 1318,
			x_min: 61,
			x_max: 1238,
			o:
				&quo.........完整代码请登录后点击上方下载按钮下载查看

网友评论0