add multimedia keys
121
icon_font/U+1F507 Speaker with Cancellation Stroke.svg
Normal file
|
|
@ -0,0 +1,121 @@
|
|||
<?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"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
id="svg964"
|
||||
version="1.1"
|
||||
viewBox="0 0 264.58333 264.58334"
|
||||
height="1000"
|
||||
width="1000"
|
||||
sodipodi:docname="U+1F507 Speaker with Cancellation Stroke.svg"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)">
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1016"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
showguides="true"
|
||||
inkscape:guide-bbox="true"
|
||||
inkscape:zoom="0.51998147"
|
||||
inkscape:cx="173.85039"
|
||||
inkscape:cy="614.2482"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1"
|
||||
inkscape:snap-global="true">
|
||||
<sodipodi:guide
|
||||
position="0,52.916667"
|
||||
orientation="0,1"
|
||||
id="guide815"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="5.2916667,0"
|
||||
orientation="1,0"
|
||||
id="guide817"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="0,259.29167"
|
||||
orientation="0,1"
|
||||
id="guide819"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="259.29167,0"
|
||||
orientation="1,0"
|
||||
id="guide821"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="29.104167,0"
|
||||
orientation="1,0"
|
||||
id="guide823"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="235.47917,0"
|
||||
orientation="1,0"
|
||||
id="guide825"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="132.29167,161.39583"
|
||||
orientation="0,1"
|
||||
id="guide827"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="132.29167,161.39583"
|
||||
orientation="1,0"
|
||||
id="guide829"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
</sodipodi:namedview>
|
||||
<defs
|
||||
id="defs958" />
|
||||
<metadata
|
||||
id="metadata961">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
transform="translate(0,-32.41665)"
|
||||
id="layer1"
|
||||
inkscape:groupmode="layer">
|
||||
<path
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:30;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||
d="M 484.74219 165.21094 C 481.46507 165.30684 478.30896 166.474 475.75781 168.5332 L 282.64453 324.57617 L 34.949219 324.57617 C 26.665288 324.577 19.95005 331.2922 19.949219 339.57617 L 19.949219 644.40039 C 19.95005 652.68432 26.665288 659.39956 34.949219 659.40039 L 262.81641 659.40039 L 475.75781 831.46484 C 485.56622 839.38586 500.17721 832.40823 500.18359 819.80078 L 500.18359 180.20508 C 500.18259 171.74797 493.19563 164.96209 484.74219 165.21094 z M 662.77734 316.65039 C 658.87578 316.70784 655.14976 318.28384 652.39062 321.04297 L 617.19531 356.24023 C 611.3367 362.09869 611.3367 371.59662 617.19531 377.45508 L 739.73438 500.00195 L 617.19531 622.54883 C 611.33954 628.40437 611.33588 637.89811 617.1875 643.75781 L 652.39062 678.96094 C 658.247 684.82162 667.74685 684.82528 673.60742 678.96875 L 796.1543 556.41602 L 918.69922 678.96875 C 924.55979 684.82528 934.05964 684.82162 939.91602 678.96094 L 975.11914 643.75781 C 980.97076 637.89811 980.96905 628.40437 975.11328 622.54883 L 852.57227 500.00195 L 975.11328 377.45508 C 980.97189 371.59662 980.97189 362.09869 975.11328 356.24023 L 939.91602 321.04297 C 934.05756 315.18436 924.55768 315.18436 918.69922 321.04297 L 796.1543 443.58984 L 673.60742 321.04297 C 670.73974 318.17529 666.8324 316.59049 662.77734 316.65039 z "
|
||||
transform="matrix(0.26458333,0,0,0.26458333,0,32.41665)"
|
||||
id="path828" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.8 KiB |
121
icon_font/U+1F509 Speaker with One Sound Wave.svg
Normal file
|
|
@ -0,0 +1,121 @@
|
|||
<?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"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
id="svg964"
|
||||
version="1.1"
|
||||
viewBox="0 0 264.58333 264.58334"
|
||||
height="1000"
|
||||
width="1000"
|
||||
sodipodi:docname="U+1F509 Speaker with One Sound Wave.svg.2018_09_27_20_14_27.0.svg"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)">
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1016"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
showguides="true"
|
||||
inkscape:guide-bbox="true"
|
||||
inkscape:zoom="0.73536486"
|
||||
inkscape:cx="732.0533"
|
||||
inkscape:cy="512.86977"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1"
|
||||
inkscape:snap-global="true">
|
||||
<sodipodi:guide
|
||||
position="0,52.916667"
|
||||
orientation="0,1"
|
||||
id="guide815"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="5.2916667,0"
|
||||
orientation="1,0"
|
||||
id="guide817"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="0,259.29167"
|
||||
orientation="0,1"
|
||||
id="guide819"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="259.29167,0"
|
||||
orientation="1,0"
|
||||
id="guide821"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="29.104167,0"
|
||||
orientation="1,0"
|
||||
id="guide823"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="235.47917,0"
|
||||
orientation="1,0"
|
||||
id="guide825"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="132.29167,161.39583"
|
||||
orientation="0,1"
|
||||
id="guide827"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="132.29167,161.39583"
|
||||
orientation="1,0"
|
||||
id="guide829"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
</sodipodi:namedview>
|
||||
<defs
|
||||
id="defs958" />
|
||||
<metadata
|
||||
id="metadata961">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
transform="translate(0,-32.41665)"
|
||||
id="layer1"
|
||||
inkscape:groupmode="layer">
|
||||
<path
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:30;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||
d="M 484.74219 165.21094 C 481.46507 165.30679 478.30896 166.474 475.75781 168.5332 L 282.64453 324.57617 L 34.949219 324.57617 C 26.665288 324.577 19.95005 331.2922 19.949219 339.57617 L 19.949219 644.40039 C 19.95005 652.68432 26.665288 659.39956 34.949219 659.40039 L 262.81641 659.40039 L 475.75781 831.46484 C 485.56622 839.38586 500.17721 832.40823 500.18359 819.80078 L 500.18359 180.20508 C 500.18223 171.74797 493.19563 164.96209 484.74219 165.21094 z M 596.02148 305.23047 C 594.17662 305.21535 592.34405 305.54205 590.61719 306.19141 L 520.87305 332.35156 C 513.10865 335.26429 509.18062 343.92497 512.10352 351.68555 C 529.44066 397.74521 538.92969 447.67401 538.92969 499.94336 C 538.92969 547.59292 531.03301 593.28945 516.50391 635.89648 C 513.94392 643.40353 517.66997 651.60435 525.00781 654.61523 L 594.06445 682.95508 C 602.00112 686.21367 611.05039 682.16384 613.9082 674.07422 C 633.15681 619.5579 643.63477 560.92547 643.63477 499.94336 C 643.63477 434.88046 631.69314 372.49004 609.91406 314.92383 C 607.72481 309.13737 602.20797 305.28746 596.02148 305.23047 z "
|
||||
transform="matrix(0.26458333,0,0,0.26458333,0,32.41665)"
|
||||
id="path828" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.6 KiB |
121
icon_font/U+1F50A Speaker with Three Sound Waves.svg
Normal file
|
|
@ -0,0 +1,121 @@
|
|||
<?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"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
id="svg964"
|
||||
version="1.1"
|
||||
viewBox="0 0 264.58333 264.58334"
|
||||
height="1000"
|
||||
width="1000"
|
||||
sodipodi:docname="U+1F50A Speaker with Three Sound Waves.svg"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)">
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1016"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
showguides="true"
|
||||
inkscape:guide-bbox="true"
|
||||
inkscape:zoom="1.039963"
|
||||
inkscape:cx="755.38558"
|
||||
inkscape:cy="561.27698"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1"
|
||||
inkscape:snap-global="true">
|
||||
<sodipodi:guide
|
||||
position="0,52.916667"
|
||||
orientation="0,1"
|
||||
id="guide815"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="5.2916667,0"
|
||||
orientation="1,0"
|
||||
id="guide817"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="0,259.29167"
|
||||
orientation="0,1"
|
||||
id="guide819"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="259.29167,0"
|
||||
orientation="1,0"
|
||||
id="guide821"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="29.104167,0"
|
||||
orientation="1,0"
|
||||
id="guide823"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="235.47917,0"
|
||||
orientation="1,0"
|
||||
id="guide825"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="132.29167,161.39583"
|
||||
orientation="0,1"
|
||||
id="guide827"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="132.29167,161.39583"
|
||||
orientation="1,0"
|
||||
id="guide829"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
</sodipodi:namedview>
|
||||
<defs
|
||||
id="defs958" />
|
||||
<metadata
|
||||
id="metadata961">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
transform="translate(0,-32.41665)"
|
||||
id="layer1"
|
||||
inkscape:groupmode="layer">
|
||||
<path
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:30;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||
d="M 484.74219 165.21094 C 481.46507 165.30679 478.30896 166.474 475.75781 168.5332 L 282.64453 324.57617 L 34.949219 324.57617 C 26.665288 324.577 19.95005 331.2922 19.949219 339.57617 L 19.949219 644.40039 C 19.95005 652.68432 26.665288 659.39956 34.949219 659.40039 L 262.81641 659.40039 L 475.75781 831.46484 C 485.56622 839.38586 500.17721 832.40823 500.18359 819.80078 L 500.18359 180.20508 C 500.18223 171.74797 493.19563 164.96209 484.74219 165.21094 z M 876.86523 199.69336 C 875.19506 199.73399 873.54347 200.05184 871.97852 200.63672 L 800.04883 227.61914 C 790.72609 231.12057 787.34036 242.56637 793.25781 250.57617 C 844.71918 320.24234 875.10742 406.37235 875.10742 499.94336 C 875.10742 591.93283 845.74202 676.72496 795.85547 745.75977 C 790.17219 753.62504 793.34048 764.73472 802.31641 768.42188 L 872.73047 797.32227 C 879.31705 800.0224 886.89572 797.72283 890.86914 791.81641 C 944.66917 711.81469 977.04812 616.16489 979.64258 513.34961 C 979.64417 513.22413 979.64417 513.09814 979.64258 512.97266 L 979.64258 486.90625 C 979.64417 486.78077 979.64417 486.65673 979.64258 486.53125 C 977.02866 382.94396 944.18613 286.62909 889.6582 206.26172 C 886.78996 202.0373 881.96971 199.56343 876.86523 199.69336 z M 739.73242 251.22461 C 737.97188 251.23973 736.22799 251.5658 734.58008 252.18555 L 664.35547 278.52344 C 655.82938 281.72349 652.09733 291.72067 656.44141 299.72461 C 688.6996 359.18599 707.01563 427.31195 707.01562 499.94336 C 707.01562 569.50662 690.20981 634.92705 660.45117 692.57422 C 656.41554 700.393 659.94447 709.99017 668.08398 713.33203 L 737.14062 741.67773 C 744.39754 744.6574 752.72396 741.54392 756.24414 734.5332 C 791.72147 663.91099 811.72067 584.17527 811.7207 499.94336 C 811.7207 413.30635 790.56195 331.42543 753.16602 259.32422 C 750.56816 254.31194 745.37775 251.18088 739.73242 251.22461 z M 596.02148 305.23047 C 594.17662 305.21535 592.34405 305.54205 590.61719 306.19141 L 520.87305 332.35156 C 513.10865 335.26429 509.18062 343.92497 512.10352 351.68555 C 529.44066 397.74521 538.92969 447.67401 538.92969 499.94336 C 538.92969 547.59292 531.03301 593.28945 516.50391 635.89648 C 513.94392 643.40353 517.66997 651.60435 525.00781 654.61523 L 594.06445 682.95508 C 602.00112 686.21367 611.05039 682.16384 613.9082 674.07422 C 633.15681 619.5579 643.63477 560.92547 643.63477 499.94336 C 643.63477 434.88046 631.69314 372.49004 609.91406 314.92383 C 607.72481 309.13737 602.20797 305.28746 596.02148 305.23047 z "
|
||||
transform="matrix(0.26458333,0,0,0.26458333,0,32.41665)"
|
||||
id="path828" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 6.9 KiB |
|
|
@ -0,0 +1,122 @@
|
|||
<?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"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
id="svg964"
|
||||
version="1.1"
|
||||
viewBox="0 0 264.58333 264.58334"
|
||||
height="1000"
|
||||
width="1000"
|
||||
sodipodi:docname="U+23ED Black Right-Pointing Double Triangle with Vertical Bar.svg"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)">
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1016"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
showguides="true"
|
||||
inkscape:guide-bbox="true"
|
||||
inkscape:zoom="0.55461861"
|
||||
inkscape:cx="826.41907"
|
||||
inkscape:cy="532.06492"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1"
|
||||
inkscape:snap-global="true">
|
||||
<sodipodi:guide
|
||||
position="0,52.916667"
|
||||
orientation="0,1"
|
||||
id="guide815"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="5.2916667,0"
|
||||
orientation="1,0"
|
||||
id="guide817"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="0,259.29167"
|
||||
orientation="0,1"
|
||||
id="guide819"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="259.29167,0"
|
||||
orientation="1,0"
|
||||
id="guide821"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="29.104167,0"
|
||||
orientation="1,0"
|
||||
id="guide823"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="235.47917,0"
|
||||
orientation="1,0"
|
||||
id="guide825"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="132.29167,161.39583"
|
||||
orientation="0,1"
|
||||
id="guide827"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="132.29167,161.39583"
|
||||
orientation="1,0"
|
||||
id="guide829"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
</sodipodi:namedview>
|
||||
<defs
|
||||
id="defs958" />
|
||||
<metadata
|
||||
id="metadata961">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
transform="translate(0,-32.41665)"
|
||||
id="layer1"
|
||||
inkscape:groupmode="layer">
|
||||
<path
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:7.9375;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||
d="m 255.29862,76.12716 c 2.19179,2.2e-4 3.96854,1.77696 3.96875,3.96875 v 169.22636 c -2.1e-4,2.19179 -1.77696,3.96853 -3.96875,3.96875 h -34.43053 c -2.19179,-2.2e-4 -3.96853,-1.77696 -3.96875,-3.96875 v -79.51401 l -99.32387,82.60013 c -2.59514,2.09577 -6.46148,0.2496 -6.46317,-3.08612 v -79.51814 l -99.329557,82.60426 c -2.5951393,2.09577 -6.4609663,0.2496 -6.4626543,-3.08612 V 80.09591 c 3.598e-4,-2.23761 1.8488977,-4.033041 4.085537,-3.967199 0.8670713,0.02536 1.7021253,0.334182 2.3771173,0.879014 L 111.1123,159.61198 V 80.09591 c 3.6e-4,-2.23761 1.84941,-4.033041 4.08605,-3.967199 0.86707,0.02536 1.70213,0.334182 2.37712,0.879014 l 99.32387,82.600125 V 80.09591 c 2.2e-4,-2.19179 1.77696,-3.96853 3.96875,-3.96875 z"
|
||||
id="path832"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccccccccccccccccccccc" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.3 KiB |
|
|
@ -0,0 +1,122 @@
|
|||
<?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"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
id="svg964"
|
||||
version="1.1"
|
||||
viewBox="0 0 264.58333 264.58334"
|
||||
height="1000"
|
||||
width="1000"
|
||||
sodipodi:docname="U+23EE Black Left-Pointing Double Triangle with Vertical Bar.svg"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)">
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1016"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
showguides="true"
|
||||
inkscape:guide-bbox="true"
|
||||
inkscape:zoom="0.55461861"
|
||||
inkscape:cx="406.82297"
|
||||
inkscape:cy="697.5945"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1"
|
||||
inkscape:snap-global="true">
|
||||
<sodipodi:guide
|
||||
position="0,52.916667"
|
||||
orientation="0,1"
|
||||
id="guide815"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="5.2916667,0"
|
||||
orientation="1,0"
|
||||
id="guide817"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="0,259.29167"
|
||||
orientation="0,1"
|
||||
id="guide819"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="259.29167,0"
|
||||
orientation="1,0"
|
||||
id="guide821"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="29.104167,0"
|
||||
orientation="1,0"
|
||||
id="guide823"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="235.47917,0"
|
||||
orientation="1,0"
|
||||
id="guide825"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="132.29167,161.39583"
|
||||
orientation="0,1"
|
||||
id="guide827"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="132.29167,161.39583"
|
||||
orientation="1,0"
|
||||
id="guide829"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
</sodipodi:namedview>
|
||||
<defs
|
||||
id="defs958" />
|
||||
<metadata
|
||||
id="metadata961">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
transform="translate(0,-32.41665)"
|
||||
id="layer1"
|
||||
inkscape:groupmode="layer">
|
||||
<path
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:7.9375;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||
d="m 9.2888388,76.127161 c -2.19179,2.2e-4 -3.96854,1.77696 -3.96875,3.96875 V 249.32227 c 2.1e-4,2.19179 1.77696,3.96853 3.96875,3.96875 H 43.719369 c 2.19179,-2.2e-4 3.96853,-1.77696 3.96875,-3.96875 v -79.51401 l 99.323871,82.60013 c 2.59514,2.09577 6.46148,0.2496 6.46317,-3.08612 v -79.51814 l 99.32956,82.60426 c 2.59514,2.09577 6.46096,0.2496 6.46265,-3.08612 V 80.095911 c -3.6e-4,-2.23761 -1.8489,-4.033041 -4.08554,-3.967199 -0.86707,0.02536 -1.70212,0.334182 -2.37711,0.879014 L 153.47516,159.61198 V 80.095911 c -2.6e-4,-2.23761 -1.84941,-4.033041 -4.08605,-3.967199 -0.86707,0.02536 -1.70213,0.334182 -2.37712,0.879014 L 47.688119,159.60785 V 80.095911 c -2.2e-4,-2.19179 -1.77696,-3.96853 -3.96875,-3.96875 z"
|
||||
id="path832-3"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccccccccccccccccccccc" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.3 KiB |
|
|
@ -0,0 +1,121 @@
|
|||
<?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"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
id="svg964"
|
||||
version="1.1"
|
||||
viewBox="0 0 264.58333 264.58334"
|
||||
height="1000"
|
||||
width="1000"
|
||||
sodipodi:docname="U+23EF Black Right-Pointing Triangle with Double Vertical Bar.svg"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)">
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1016"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
showguides="true"
|
||||
inkscape:guide-bbox="true"
|
||||
inkscape:zoom="0.39217458"
|
||||
inkscape:cx="1029.7358"
|
||||
inkscape:cy="424.58204"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="layer1"
|
||||
inkscape:snap-global="false">
|
||||
<sodipodi:guide
|
||||
position="0,52.916667"
|
||||
orientation="0,1"
|
||||
id="guide815"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="5.2916667,0"
|
||||
orientation="1,0"
|
||||
id="guide817"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="0,259.29167"
|
||||
orientation="0,1"
|
||||
id="guide819"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="259.29167,0"
|
||||
orientation="1,0"
|
||||
id="guide821"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="29.104167,0"
|
||||
orientation="1,0"
|
||||
id="guide823"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="235.47917,0"
|
||||
orientation="1,0"
|
||||
id="guide825"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="132.29167,161.39583"
|
||||
orientation="0,1"
|
||||
id="guide827"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="132.29167,161.39583"
|
||||
orientation="1,0"
|
||||
id="guide829"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
</sodipodi:namedview>
|
||||
<defs
|
||||
id="defs958" />
|
||||
<metadata
|
||||
id="metadata961">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
transform="translate(0,-32.41665)"
|
||||
id="layer1"
|
||||
inkscape:groupmode="layer">
|
||||
<path
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:30;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||
d="M 34.798828 165.20508 C 26.636227 165.37463 20.106477 172.04072 20.107422 180.20508 L 20.107422 819.80078 C 20.113822 832.40823 34.726741 839.38586 44.535156 831.46484 L 429.34961 511.66602 C 436.77831 505.66174 436.77831 494.3363 429.34961 488.33203 L 44.535156 168.5332 C 41.783607 166.31022 38.335407 165.13216 34.798828 165.20508 z M 562.77734 165.20508 C 554.49341 165.20591 547.77818 171.92115 547.77734 180.20508 L 547.77734 819.80078 C 547.77818 828.08471 554.49341 834.79995 562.77734 834.80078 L 692.9082 834.80078 C 701.19213 834.79995 707.90741 828.08471 707.9082 819.80078 L 707.9082 180.20508 C 707.90741 171.92115 701.19213 165.20591 692.9082 165.20508 L 562.77734 165.20508 z M 834.77734 165.20508 C 826.49341 165.20591 819.77818 171.92115 819.77734 180.20508 L 819.77734 819.80078 C 819.77818 828.08471 826.49341 834.79995 834.77734 834.80078 L 964.9082 834.80078 C 973.19213 834.79995 979.90741 828.08471 979.9082 819.80078 L 979.9082 180.20508 C 979.90741 171.92115 973.19213 165.20591 964.9082 165.20508 L 834.77734 165.20508 z "
|
||||
transform="matrix(0.26458333,0,0,0.26458333,0,32.41665)"
|
||||
id="path832" />
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.6 KiB |
135
icon_font/U+2630 Trigram for Heaven.svg
Normal file
|
|
@ -0,0 +1,135 @@
|
|||
<?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"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
id="svg964"
|
||||
version="1.1"
|
||||
viewBox="0 0 264.58333 264.58334"
|
||||
height="1000"
|
||||
width="1000"
|
||||
sodipodi:docname="U+2630 Trigram for Heaven.svg"
|
||||
inkscape:version="0.92.3 (2405546, 2018-03-11)">
|
||||
<sodipodi:namedview
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1"
|
||||
objecttolerance="10"
|
||||
gridtolerance="10"
|
||||
guidetolerance="10"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1016"
|
||||
id="namedview8"
|
||||
showgrid="false"
|
||||
showguides="true"
|
||||
inkscape:guide-bbox="true"
|
||||
inkscape:zoom="1.1353809"
|
||||
inkscape:cx="173.83003"
|
||||
inkscape:cy="594.60287"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg964"
|
||||
inkscape:snap-global="true"
|
||||
inkscape:measure-start="406.912,419.243"
|
||||
inkscape:measure-end="406.912,580.422">
|
||||
<sodipodi:guide
|
||||
position="0,52.916667"
|
||||
orientation="0,1"
|
||||
id="guide815"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="5.2916667,0"
|
||||
orientation="1,0"
|
||||
id="guide817"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="0,259.29167"
|
||||
orientation="0,1"
|
||||
id="guide819"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="259.29167,0"
|
||||
orientation="1,0"
|
||||
id="guide821"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="29.104167,0"
|
||||
orientation="1,0"
|
||||
id="guide823"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="235.47917,0"
|
||||
orientation="1,0"
|
||||
id="guide825"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="132.29167,161.39583"
|
||||
orientation="0,1"
|
||||
id="guide827"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
<sodipodi:guide
|
||||
position="132.29167,161.39583"
|
||||
orientation="1,0"
|
||||
id="guide829"
|
||||
inkscape:locked="false"
|
||||
inkscape:label=""
|
||||
inkscape:color="rgb(0,0,255)" />
|
||||
</sodipodi:namedview>
|
||||
<defs
|
||||
id="defs958" />
|
||||
<metadata
|
||||
id="metadata961">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
transform="translate(0,-32.41665)"
|
||||
id="layer1"
|
||||
inkscape:groupmode="layer" />
|
||||
<path
|
||||
sodipodi:nodetypes="ccccccccc"
|
||||
id="path827"
|
||||
d="m 220.87358,125.65977 c -2.2e-4,-2.19179 -1.77696,-3.96852 -3.96875,-3.96875 H 47.678502 c -2.191787,2.3e-4 -3.968527,1.77696 -3.968747,3.96875 v 13.26379 c 2.2e-4,2.19179 1.77696,3.96854 3.968747,3.96875 H 216.90483 c 2.19179,-2.1e-4 3.96853,-1.77696 3.96875,-3.96875 z"
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:7.9375;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:7.9375;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||
d="m 220.87358,203.33079 c -2.2e-4,-2.19179 -1.77696,-3.96852 -3.96875,-3.96875 H 47.678502 c -2.191787,2.3e-4 -3.968527,1.77696 -3.968747,3.96875 v 13.26379 c 2.2e-4,2.19179 1.77696,3.96854 3.968747,3.96875 H 216.90483 c 2.19179,-2.1e-4 3.96853,-1.77696 3.96875,-3.96875 z"
|
||||
id="path825"
|
||||
sodipodi:nodetypes="ccccccccc" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:7.9375;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||
d="m 220.87358,47.988759 c -2.2e-4,-2.19179 -1.77696,-3.96852 -3.96875,-3.96875 H 47.678502 c -2.191787,2.3e-4 -3.968527,1.77696 -3.968747,3.96875 V 61.25254 c 2.2e-4,2.19179 1.77696,3.968537 3.968747,3.968747 H 216.90483 c 2.19179,-2.1e-4 3.96853,-1.776957 3.96875,-3.968747 z"
|
||||
id="path828"
|
||||
sodipodi:nodetypes="ccccccccc" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 8 KiB |
|
|
@ -21,7 +21,7 @@ OS2Version: 0
|
|||
OS2_WeightWidthSlopeOnly: 0
|
||||
OS2_UseTypoMetrics: 1
|
||||
CreationTime: 1535548659
|
||||
ModificationTime: 1535550186
|
||||
ModificationTime: 1538075883
|
||||
PfmFamily: 17
|
||||
TTFWeight: 400
|
||||
TTFWidth: 5
|
||||
|
|
@ -44,28 +44,29 @@ OS2Vendor: 'PfEd'
|
|||
MarkAttachClasses: 1
|
||||
DEI: 91125
|
||||
LangName: 1033
|
||||
Encoding: UnicodeBmp
|
||||
Encoding: UnicodeFull
|
||||
Compacted: 1
|
||||
UnicodeInterp: none
|
||||
NameList: AGL For New Fonts
|
||||
DisplaySize: -48
|
||||
AntiAlias: 1
|
||||
FitToEm: 0
|
||||
WinInfo: 0 27 10
|
||||
WinInfo: 0 38 14
|
||||
BeginPrivate: 0
|
||||
EndPrivate
|
||||
TeXData: 1 0 0 346030 173015 115343 0 1048576 115343 783286 444596 497025 792723 393216 433062 380633 303038 157286 324010 404750 52429 2506097 1059062 262144
|
||||
BeginChars: 65536 4
|
||||
BeginChars: 1114112 11
|
||||
|
||||
StartChar: uni2328
|
||||
Encoding: 9000 9000 0
|
||||
Width: 1000
|
||||
VWidth: 0
|
||||
Flags: HM
|
||||
HStem: 10 80<250 750> 200 60<285 395 445 555 605 715> 370 50<125 235 285 395 445 555 605 715 765 875> 530 60<125 235 285 395 445 555 605 715 765 875>
|
||||
VStem: 20 105<260 370 420 530> 235 50<260 370 420 530> 395 50<260 370 420 530> 555 50<260 370 420 530> 715 50<260 370 420 530> 750 230<90 200> 875 105<260 370 420 530>
|
||||
LayerCount: 2
|
||||
Fore
|
||||
SplineSet
|
||||
70 590 m 2
|
||||
70 590 m 2xff20
|
||||
930 590 l 2
|
||||
957.700195312 590 980 567.700195312 980 540 c 2
|
||||
980 60 l 2
|
||||
|
|
@ -73,7 +74,7 @@ SplineSet
|
|||
70 10 l 2
|
||||
42.2998046875 10 20 32.2998046875 20 60 c 2
|
||||
20 540 l 2
|
||||
20 567.700195312 42.2998046875 590 70 590 c 2
|
||||
20 567.700195312 42.2998046875 590 70 590 c 2xff20
|
||||
135 530 m 2
|
||||
129.459960938 530 125 525.540039062 125 520 c 2
|
||||
125 430 l 2
|
||||
|
|
@ -107,7 +108,7 @@ SplineSet
|
|||
605 424.459960938 609.459960938 420 615 420 c 2
|
||||
705 420 l 2
|
||||
710.540039062 420 715 424.459960938 715 430 c 2
|
||||
715 520 l 2
|
||||
715 520 l 2xff80
|
||||
715 525.540039062 710.540039062 530 705 530 c 2
|
||||
615 530 l 2
|
||||
775 530 m 2
|
||||
|
|
@ -116,7 +117,7 @@ SplineSet
|
|||
765 424.459960938 769.459960938 420 775 420 c 2
|
||||
865 420 l 2
|
||||
870.540039062 420 875 424.459960938 875 430 c 2
|
||||
875 520 l 2
|
||||
875 520 l 2xffa0
|
||||
875 525.540039062 870.540039062 530 865 530 c 2
|
||||
775 530 l 2
|
||||
135 370 m 2
|
||||
|
|
@ -170,18 +171,19 @@ SplineSet
|
|||
250 94.4599609375 254.459960938 90 260 90 c 2
|
||||
740 90 l 2
|
||||
745.540039062 90 750 94.4599609375 750 100 c 2
|
||||
750 190 l 2
|
||||
750 190 l 2xff40
|
||||
750 195.540039062 745.540039062 200 740 200 c 2
|
||||
260 200 l 2
|
||||
EndSplineSet
|
||||
Validated: 524289
|
||||
Validated: 1
|
||||
EndChar
|
||||
|
||||
StartChar: uni2922
|
||||
Encoding: 10530 10530 1
|
||||
Width: 1000
|
||||
VWidth: 0
|
||||
Flags: HM
|
||||
HStem: -90.0059 80.1387<246.65 410.016> 609.867 80.1387<589.938 753.304>
|
||||
VStem: 109.941 80.1387<46.7031 210.068> 809.874 80.1387<389.932 553.297>
|
||||
LayerCount: 2
|
||||
Fore
|
||||
SplineSet
|
||||
|
|
@ -222,13 +224,14 @@ SplineSet
|
|||
410.015625 -80.005859375 l 2
|
||||
410.015625 -85.5458984375 405.555664062 -90.005859375 400.015625 -90.005859375 c 2
|
||||
EndSplineSet
|
||||
Validated: 524289
|
||||
Validated: 1
|
||||
EndChar
|
||||
|
||||
StartChar: uni27A3
|
||||
Encoding: 10147 10147 2
|
||||
Width: 1000
|
||||
VWidth: 0
|
||||
Flags: HM
|
||||
LayerCount: 2
|
||||
Fore
|
||||
SplineSet
|
||||
|
|
@ -298,14 +301,15 @@ SplineSet
|
|||
914.63671875 319.998046875 l 1
|
||||
226.22265625 319.998046875 l 2
|
||||
EndSplineSet
|
||||
Validated: 524289
|
||||
Validated: 1
|
||||
EndChar
|
||||
|
||||
StartChar: uni21BB
|
||||
Encoding: 8635 8635 3
|
||||
Width: 1000
|
||||
VWidth: 0
|
||||
Flags: HM
|
||||
HStem: -11.9004 80.0049<410.621 596.596> 531.894 80.0068<403.658 587.978>
|
||||
VStem: 188.142 80.0029<203.446 389.421>
|
||||
LayerCount: 2
|
||||
Fore
|
||||
SplineSet
|
||||
|
|
@ -337,6 +341,302 @@ SplineSet
|
|||
188.141601562 400.823242188 259.505859375 522.6875 347.4375 572.018554688 c 0
|
||||
383.451171875 592.221679688 446.166015625 609.974609375 487.42578125 611.645507812 c 0
|
||||
EndSplineSet
|
||||
Validated: 1
|
||||
EndChar
|
||||
|
||||
StartChar: u1F50A
|
||||
Encoding: 128266 128266 4
|
||||
Width: 1000
|
||||
VWidth: 0
|
||||
HStem: 140.6 334.824<19.9492 262.816>
|
||||
VStem: 19.9492 480.234<140.6 475.424> 516.504 97.4043<145.53 207.841 392.475 467.508> 538.93 104.705<166.83 432.826> 707.016 104.705<166.604 433.179> 875.107 104.535<168.541 431.014>
|
||||
LayerCount: 2
|
||||
Fore
|
||||
SplineSet
|
||||
484.7421875 634.7890625 m 0xcc
|
||||
493.1953125 635.038085938 500.182617188 628.251953125 500.18359375 619.794921875 c 2
|
||||
500.18359375 -19.80078125 l 2
|
||||
500.176757812 -32.408203125 485.56640625 -39.3857421875 475.7578125 -31.46484375 c 2
|
||||
262.81640625 140.599609375 l 1
|
||||
34.94921875 140.599609375 l 2
|
||||
26.6650390625 140.600585938 19.9501953125 147.315429688 19.94921875 155.599609375 c 2
|
||||
19.94921875 460.423828125 l 2
|
||||
19.9501953125 468.708007812 26.6650390625 475.422851562 34.94921875 475.423828125 c 2
|
||||
282.64453125 475.423828125 l 1
|
||||
475.7578125 631.466796875 l 2
|
||||
478.30859375 633.526367188 481.46484375 634.693359375 484.7421875 634.7890625 c 0xcc
|
||||
876.865234375 600.306640625 m 0
|
||||
881.969726562 600.436523438 886.790039062 597.962890625 889.658203125 593.73828125 c 0
|
||||
944.186523438 513.37109375 977.028320312 417.055664062 979.642578125 313.46875 c 0
|
||||
979.64453125 313.34375 979.64453125 313.219726562 979.642578125 313.09375 c 2
|
||||
979.642578125 287.02734375 l 2
|
||||
979.64453125 286.90234375 979.64453125 286.776367188 979.642578125 286.650390625 c 0
|
||||
977.047851562 183.834960938 944.668945312 88.185546875 890.869140625 8.18359375 c 0
|
||||
886.895507812 2.27734375 879.317382812 -0.0224609375 872.73046875 2.677734375 c 2
|
||||
802.31640625 31.578125 l 2
|
||||
793.340820312 35.265625 790.171875 46.375 795.85546875 54.240234375 c 0
|
||||
845.7421875 123.275390625 875.107421875 208.067382812 875.107421875 300.056640625 c 0
|
||||
875.107421875 393.627929688 844.71875 479.7578125 793.2578125 549.423828125 c 0
|
||||
787.33984375 557.43359375 790.725585938 568.879882812 800.048828125 572.380859375 c 2
|
||||
871.978515625 599.36328125 l 2
|
||||
873.54296875 599.948242188 875.1953125 600.265625 876.865234375 600.306640625 c 0
|
||||
739.732421875 548.775390625 m 0
|
||||
745.377929688 548.819335938 750.568359375 545.688476562 753.166015625 540.67578125 c 0
|
||||
790.561523438 468.57421875 811.720703125 386.693359375 811.720703125 300.056640625 c 0
|
||||
811.720703125 215.825195312 791.721679688 136.088867188 756.244140625 65.466796875 c 0
|
||||
752.723632812 58.4560546875 744.397460938 55.3427734375 737.140625 58.322265625 c 2
|
||||
668.083984375 86.66796875 l 2
|
||||
659.944335938 90.009765625 656.415039062 99.607421875 660.451171875 107.42578125 c 0
|
||||
690.209960938 165.073242188 707.015625 230.493164062 707.015625 300.056640625 c 0
|
||||
707.015625 372.688476562 688.69921875 440.814453125 656.44140625 500.275390625 c 0
|
||||
652.09765625 508.279296875 655.829101562 518.276367188 664.35546875 521.4765625 c 2
|
||||
734.580078125 547.814453125 l 2
|
||||
736.227539062 548.434570312 737.971679688 548.760742188 739.732421875 548.775390625 c 0
|
||||
596.021484375 494.76953125 m 0
|
||||
602.208007812 494.712890625 607.724609375 490.862304688 609.9140625 485.076171875 c 0
|
||||
631.693359375 427.509765625 643.634765625 365.119140625 643.634765625 300.056640625 c 0xdc
|
||||
643.634765625 239.07421875 633.157226562 180.442382812 613.908203125 125.92578125 c 0
|
||||
611.05078125 117.8359375 602.000976562 113.786132812 594.064453125 117.044921875 c 2
|
||||
525.0078125 145.384765625 l 2
|
||||
517.669921875 148.395507812 513.944335938 156.596679688 516.50390625 164.103515625 c 0xec
|
||||
531.033203125 206.7109375 538.9296875 252.407226562 538.9296875 300.056640625 c 0xdc
|
||||
538.9296875 352.326171875 529.440429688 402.254882812 512.103515625 448.314453125 c 0
|
||||
509.180664062 456.075195312 513.108398438 464.735351562 520.873046875 467.6484375 c 2
|
||||
590.6171875 493.80859375 l 2
|
||||
592.34375 494.458007812 594.176757812 494.784179688 596.021484375 494.76953125 c 0
|
||||
EndSplineSet
|
||||
Validated: 1
|
||||
EndChar
|
||||
|
||||
StartChar: u1F509
|
||||
Encoding: 128265 128265 5
|
||||
Width: 1000
|
||||
VWidth: 0
|
||||
HStem: 140.6 334.824<19.9492 262.816>
|
||||
VStem: 19.9492 480.234<140.6 475.424> 516.504 97.4043<145.53 207.841 392.475 467.508> 538.93 104.705<166.83 432.826>
|
||||
LayerCount: 2
|
||||
Fore
|
||||
SplineSet
|
||||
484.7421875 634.7890625 m 0xc0
|
||||
493.1953125 635.038085938 500.182617188 628.251953125 500.18359375 619.794921875 c 2
|
||||
500.18359375 -19.80078125 l 2
|
||||
500.176757812 -32.408203125 485.56640625 -39.3857421875 475.7578125 -31.46484375 c 2
|
||||
262.81640625 140.599609375 l 1
|
||||
34.94921875 140.599609375 l 2
|
||||
26.6650390625 140.600585938 19.9501953125 147.315429688 19.94921875 155.599609375 c 2
|
||||
19.94921875 460.423828125 l 2
|
||||
19.9501953125 468.708007812 26.6650390625 475.422851562 34.94921875 475.423828125 c 2
|
||||
282.64453125 475.423828125 l 1
|
||||
475.7578125 631.466796875 l 2
|
||||
478.30859375 633.526367188 481.46484375 634.693359375 484.7421875 634.7890625 c 0xc0
|
||||
596.021484375 494.76953125 m 0
|
||||
602.208007812 494.712890625 607.724609375 490.862304688 609.9140625 485.076171875 c 0
|
||||
631.693359375 427.509765625 643.634765625 365.119140625 643.634765625 300.056640625 c 0xd0
|
||||
643.634765625 239.07421875 633.157226562 180.442382812 613.908203125 125.92578125 c 0
|
||||
611.05078125 117.8359375 602.000976562 113.786132812 594.064453125 117.044921875 c 2
|
||||
525.0078125 145.384765625 l 2
|
||||
517.669921875 148.395507812 513.944335938 156.596679688 516.50390625 164.103515625 c 0xe0
|
||||
531.033203125 206.7109375 538.9296875 252.407226562 538.9296875 300.056640625 c 0xd0
|
||||
538.9296875 352.326171875 529.440429688 402.254882812 512.103515625 448.314453125 c 0
|
||||
509.180664062 456.075195312 513.108398438 464.735351562 520.873046875 467.6484375 c 2
|
||||
590.6171875 493.80859375 l 2
|
||||
592.34375 494.458007812 594.176757812 494.784179688 596.021484375 494.76953125 c 0
|
||||
EndSplineSet
|
||||
Validated: 1
|
||||
EndChar
|
||||
|
||||
StartChar: u1F507
|
||||
Encoding: 128263 128263 6
|
||||
Width: 1000
|
||||
VWidth: 0
|
||||
HStem: 140.6 334.824<19.9492 262.816>
|
||||
VStem: 19.9492 480.234<140.6 475.424>
|
||||
LayerCount: 2
|
||||
Fore
|
||||
SplineSet
|
||||
484.7421875 634.7890625 m 0
|
||||
493.1953125 635.038085938 500.182617188 628.251953125 500.18359375 619.794921875 c 2
|
||||
500.18359375 -19.80078125 l 2
|
||||
500.176757812 -32.408203125 485.56640625 -39.3857421875 475.7578125 -31.46484375 c 2
|
||||
262.81640625 140.599609375 l 1
|
||||
34.94921875 140.599609375 l 2
|
||||
26.6650390625 140.600585938 19.9501953125 147.315429688 19.94921875 155.599609375 c 2
|
||||
19.94921875 460.423828125 l 2
|
||||
19.9501953125 468.708007812 26.6650390625 475.422851562 34.94921875 475.423828125 c 2
|
||||
282.64453125 475.423828125 l 1
|
||||
475.7578125 631.466796875 l 2
|
||||
478.30859375 633.526367188 481.46484375 634.693359375 484.7421875 634.7890625 c 0
|
||||
662.77734375 483.349609375 m 0
|
||||
666.83203125 483.409179688 670.739257812 481.825195312 673.607421875 478.95703125 c 2
|
||||
796.154296875 356.41015625 l 1
|
||||
918.69921875 478.95703125 l 2
|
||||
924.557617188 484.815429688 934.057617188 484.815429688 939.916015625 478.95703125 c 2
|
||||
975.11328125 443.759765625 l 2
|
||||
980.971679688 437.901367188 980.971679688 428.403320312 975.11328125 422.544921875 c 2
|
||||
852.572265625 299.998046875 l 1
|
||||
975.11328125 177.451171875 l 2
|
||||
980.96875 171.595703125 980.970703125 162.1015625 975.119140625 156.2421875 c 2
|
||||
939.916015625 121.0390625 l 2
|
||||
934.059570312 115.178710938 924.559570312 115.174804688 918.69921875 121.03125 c 2
|
||||
796.154296875 243.583984375 l 1
|
||||
673.607421875 121.03125 l 2
|
||||
667.747070312 115.174804688 658.247070312 115.178710938 652.390625 121.0390625 c 2
|
||||
617.1875 156.2421875 l 2
|
||||
611.3359375 162.1015625 611.33984375 171.595703125 617.1953125 177.451171875 c 2
|
||||
739.734375 299.998046875 l 1
|
||||
617.1953125 422.544921875 l 2
|
||||
611.336914062 428.403320312 611.336914062 437.901367188 617.1953125 443.759765625 c 2
|
||||
652.390625 478.95703125 l 2
|
||||
655.149414062 481.715820312 658.875976562 483.291992188 662.77734375 483.349609375 c 0
|
||||
EndSplineSet
|
||||
Validated: 1
|
||||
EndChar
|
||||
|
||||
StartChar: uni23ED
|
||||
Encoding: 9197 9197 7
|
||||
Width: 1000
|
||||
VWidth: 0
|
||||
VStem: 819.777 160.131<-34.8008 280.725 319.277 634.795>
|
||||
LayerCount: 2
|
||||
Fore
|
||||
SplineSet
|
||||
964.908203125 634.794921875 m 2
|
||||
973.192382812 634.793945312 979.907226562 628.079101562 979.908203125 619.794921875 c 2
|
||||
979.908203125 -19.80078125 l 2
|
||||
979.907226562 -28.0849609375 973.192382812 -34.7998046875 964.908203125 -34.80078125 c 2
|
||||
834.77734375 -34.80078125 l 2
|
||||
826.493164062 -34.7998046875 819.778320312 -28.0849609375 819.77734375 -19.80078125 c 2
|
||||
819.77734375 280.724609375 l 1
|
||||
444.379882812 -31.46484375 l 2
|
||||
434.571289062 -39.3857421875 419.958007812 -32.408203125 419.952148438 -19.80078125 c 2
|
||||
419.952148438 280.740234375 l 1
|
||||
44.533203125 -31.46484375 l 2
|
||||
34.724609375 -39.3857421875 20.1142578125 -32.408203125 20.107421875 -19.80078125 c 2
|
||||
20.107421875 619.794921875 l 2
|
||||
20.1083984375 628.251953125 27.095703125 635.038085938 35.548828125 634.7890625 c 0
|
||||
38.826171875 634.693359375 41.982421875 633.526367188 44.533203125 631.466796875 c 2
|
||||
419.952148438 319.26171875 l 1
|
||||
419.952148438 619.794921875 l 2
|
||||
419.953125 628.251953125 426.94140625 635.038085938 435.395507812 634.7890625 c 0
|
||||
438.672851562 634.693359375 441.828125 633.526367188 444.379882812 631.466796875 c 2
|
||||
819.77734375 319.27734375 l 1
|
||||
819.77734375 619.794921875 l 2
|
||||
819.778320312 628.079101562 826.493164062 634.793945312 834.77734375 634.794921875 c 2
|
||||
964.908203125 634.794921875 l 2
|
||||
EndSplineSet
|
||||
Validated: 1
|
||||
EndChar
|
||||
|
||||
StartChar: uni23EE
|
||||
Encoding: 9198 9198 8
|
||||
Width: 1000
|
||||
VWidth: 0
|
||||
VStem: 20.1074 160.131<-34.8008 280.725 319.277 634.795>
|
||||
LayerCount: 2
|
||||
Fore
|
||||
SplineSet
|
||||
35.107421875 634.794921875 m 2
|
||||
165.23828125 634.794921875 l 2
|
||||
173.522460938 634.793945312 180.237304688 628.079101562 180.23828125 619.794921875 c 2
|
||||
180.23828125 319.27734375 l 1
|
||||
555.635742188 631.466796875 l 2
|
||||
558.186523438 633.526367188 561.342773438 634.693359375 564.620117188 634.7890625 c 0
|
||||
573.073242188 635.038085938 580.0625 628.251953125 580.063476562 619.794921875 c 2
|
||||
580.063476562 319.26171875 l 1
|
||||
955.482421875 631.466796875 l 2
|
||||
958.033203125 633.526367188 961.189453125 634.693359375 964.466796875 634.7890625 c 0
|
||||
972.919921875 635.038085938 979.907226562 628.251953125 979.908203125 619.794921875 c 2
|
||||
979.908203125 -19.80078125 l 2
|
||||
979.901367188 -32.408203125 965.291015625 -39.3857421875 955.482421875 -31.46484375 c 2
|
||||
580.063476562 280.740234375 l 1
|
||||
580.063476562 -19.80078125 l 2
|
||||
580.057617188 -32.408203125 565.444335938 -39.3857421875 555.635742188 -31.46484375 c 2
|
||||
180.23828125 280.724609375 l 1
|
||||
180.23828125 -19.80078125 l 2
|
||||
180.237304688 -28.0849609375 173.522460938 -34.7998046875 165.23828125 -34.80078125 c 2
|
||||
35.107421875 -34.80078125 l 2
|
||||
26.8232421875 -34.7998046875 20.1083984375 -28.0849609375 20.107421875 -19.80078125 c 2
|
||||
20.107421875 619.794921875 l 2
|
||||
20.1083984375 628.079101562 26.8232421875 634.793945312 35.107421875 634.794921875 c 2
|
||||
EndSplineSet
|
||||
Validated: 1
|
||||
EndChar
|
||||
|
||||
StartChar: uni23EF
|
||||
Encoding: 9199 9199 9
|
||||
Width: 1000
|
||||
VWidth: 0
|
||||
VStem: 547.777 160.131<-34.8008 634.795> 819.777 160.131<-34.8008 634.795>
|
||||
LayerCount: 2
|
||||
Fore
|
||||
SplineSet
|
||||
34.798828125 634.794921875 m 0
|
||||
38.3349609375 634.868164062 41.783203125 633.689453125 44.53515625 631.466796875 c 2
|
||||
429.349609375 311.66796875 l 2
|
||||
436.778320312 305.6640625 436.778320312 294.337890625 429.349609375 288.333984375 c 2
|
||||
44.53515625 -31.46484375 l 2
|
||||
34.7265625 -39.3857421875 20.1142578125 -32.408203125 20.107421875 -19.80078125 c 2
|
||||
20.107421875 619.794921875 l 2
|
||||
20.1064453125 627.958984375 26.6357421875 634.625 34.798828125 634.794921875 c 0
|
||||
562.77734375 634.794921875 m 2
|
||||
692.908203125 634.794921875 l 2
|
||||
701.192382812 634.793945312 707.907226562 628.079101562 707.908203125 619.794921875 c 2
|
||||
707.908203125 -19.80078125 l 2
|
||||
707.907226562 -28.0849609375 701.192382812 -34.7998046875 692.908203125 -34.80078125 c 2
|
||||
562.77734375 -34.80078125 l 2
|
||||
554.493164062 -34.7998046875 547.778320312 -28.0849609375 547.77734375 -19.80078125 c 2
|
||||
547.77734375 619.794921875 l 2
|
||||
547.778320312 628.079101562 554.493164062 634.793945312 562.77734375 634.794921875 c 2
|
||||
834.77734375 634.794921875 m 2
|
||||
964.908203125 634.794921875 l 2
|
||||
973.192382812 634.793945312 979.907226562 628.079101562 979.908203125 619.794921875 c 2
|
||||
979.908203125 -19.80078125 l 2
|
||||
979.907226562 -28.0849609375 973.192382812 -34.7998046875 964.908203125 -34.80078125 c 2
|
||||
834.77734375 -34.80078125 l 2
|
||||
826.493164062 -34.7998046875 819.778320312 -28.0849609375 819.77734375 -19.80078125 c 2
|
||||
819.77734375 619.794921875 l 2
|
||||
819.778320312 628.079101562 826.493164062 634.793945312 834.77734375 634.794921875 c 2
|
||||
EndSplineSet
|
||||
Validated: 1
|
||||
EndChar
|
||||
|
||||
StartChar: uni2630
|
||||
Encoding: 9776 9776 10
|
||||
Width: 1000
|
||||
VWidth: 0
|
||||
HStem: -33.625 80.1309<165.202 834.798> 259.935 80.1309<165.202 834.798> 553.494 80.1309<165.202 834.798>
|
||||
CounterMasks: 1 e0
|
||||
LayerCount: 2
|
||||
Fore
|
||||
SplineSet
|
||||
834.797851562 325.065429688 m 2
|
||||
834.797851562 274.934570312 l 2
|
||||
834.796875 266.650390625 828.08203125 259.935546875 819.797851562 259.934570312 c 2
|
||||
180.202148438 259.934570312 l 2
|
||||
171.91796875 259.935546875 165.203125 266.650390625 165.202148438 274.934570312 c 2
|
||||
165.202148438 325.065429688 l 2
|
||||
165.203125 333.349609375 171.91796875 340.064453125 180.202148438 340.065429688 c 2
|
||||
819.797851562 340.065429688 l 2
|
||||
828.08203125 340.064453125 834.796875 333.349609375 834.797851562 325.065429688 c 2
|
||||
834.797851562 31.505859375 m 2
|
||||
834.797851562 -18.625 l 2
|
||||
834.796875 -26.9091796875 828.08203125 -33.6240234375 819.797851562 -33.625 c 2
|
||||
180.202148438 -33.625 l 2
|
||||
171.91796875 -33.6240234375 165.203125 -26.9091796875 165.202148438 -18.625 c 2
|
||||
165.202148438 31.505859375 l 2
|
||||
165.203125 39.7900390625 171.91796875 46.5048828125 180.202148438 46.505859375 c 2
|
||||
819.797851562 46.505859375 l 2
|
||||
828.08203125 46.5048828125 834.796875 39.7900390625 834.797851562 31.505859375 c 2
|
||||
834.797851562 618.625 m 2
|
||||
834.797851562 568.494140625 l 2
|
||||
834.796875 560.209960938 828.08203125 553.495117188 819.797851562 553.494140625 c 2
|
||||
180.202148438 553.494140625 l 2
|
||||
171.91796875 553.495117188 165.203125 560.209960938 165.202148438 568.494140625 c 2
|
||||
165.202148438 618.625 l 2
|
||||
165.203125 626.909179688 171.91796875 633.624023438 180.202148438 633.625 c 2
|
||||
819.797851562 633.625 l 2
|
||||
828.08203125 633.624023438 834.796875 626.909179688 834.797851562 618.625 c 2
|
||||
EndSplineSet
|
||||
Validated: 524289
|
||||
EndChar
|
||||
EndChars
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
package main
|
||||
|
||||
var keysymsMap = map[rune]int32{
|
||||
var keysymsMap = map[rune]Keysym{
|
||||
0x0008: 0x0000ff08,
|
||||
0x0009: 0x0000ff09,
|
||||
0x000a: 0x0000ff0a,
|
||||
|
|
|
|||
|
|
@ -31,6 +31,8 @@ import (
|
|||
"strconv"
|
||||
)
|
||||
|
||||
type Keysym int32
|
||||
|
||||
const (
|
||||
keysymdefHeader string = "/usr/include/X11/keysymdef.h"
|
||||
output string = "keysyms.generated.go"
|
||||
|
|
@ -56,12 +58,12 @@ func main() {
|
|||
}
|
||||
defer f.Close()
|
||||
reader := bufio.NewReader(f)
|
||||
re := regexp.MustCompile("^#define" +
|
||||
"\\s+([A-Za-z0-9_]+)" + // keysymName
|
||||
"\\s+0x([0-9a-fA-F]+)" + // keysym
|
||||
"\\s*(?:/\\*\\s*(?:U\\+([0-9A-Fa-f]+))?.*\\*/)?" + // keysymUnicode (optional)
|
||||
"\\s*$")
|
||||
keysymsMap := make(map[rune]int32)
|
||||
re := regexp.MustCompile("^\\#define " +
|
||||
"(XK_[a-zA-Z_0-9]+)\\s+" + // keysymName
|
||||
"0x([0-9a-f]+)\\s*" + // keysym
|
||||
"(?:/\\*\\s*(?:U\\+([0-9A-F]{4,6}))?.*\\*/\\s*)?" + // keysymUnicode (optional)
|
||||
"$")
|
||||
keysymsMap := make(map[rune]Keysym)
|
||||
for {
|
||||
l, err := reader.ReadString('\n')
|
||||
if err == io.EOF {
|
||||
|
|
@ -75,7 +77,7 @@ func main() {
|
|||
}
|
||||
keysymName := submatches[1]
|
||||
keysymTemp, err := strconv.ParseInt(submatches[2], 16, 32)
|
||||
keysym := int32(keysymTemp)
|
||||
keysym := Keysym(keysymTemp)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
|
@ -100,7 +102,7 @@ func main() {
|
|||
keysymsMap[unicode] = keysym
|
||||
}
|
||||
content := "package main\n\n" +
|
||||
"var keysymsMap = map[rune]int32{\n"
|
||||
"var keysymsMap = map[rune]Keysym{\n"
|
||||
keys := make([]rune, 0)
|
||||
for key := range keysymsMap {
|
||||
keys = append(keys, key)
|
||||
|
|
|
|||
37
keysyms.go
|
|
@ -23,7 +23,18 @@ package main
|
|||
|
||||
import "errors"
|
||||
|
||||
func runeToKeysym(runeValue rune) (int32, error) {
|
||||
type Keysym int32
|
||||
|
||||
const (
|
||||
xf86AudioLowerVolume Keysym = 0x1008ff11
|
||||
xf86AudioMute Keysym = 0x1008ff12
|
||||
xf86AudioRaiseVolume Keysym = 0x1008ff13
|
||||
xf86AudioPlay Keysym = 0x1008ff14
|
||||
xf86AudioPrev Keysym = 0x1008ff16
|
||||
xf86AudioNext Keysym = 0x1008ff17
|
||||
)
|
||||
|
||||
func RuneToKeysym(runeValue rune) (Keysym, error) {
|
||||
if runeValue == '\n' {
|
||||
runeValue = '\r'
|
||||
}
|
||||
|
|
@ -33,7 +44,29 @@ func runeToKeysym(runeValue rune) (int32, error) {
|
|||
return 0, errors.New("rune not mappend to keysym and " +
|
||||
"out of range for direct unicode mapping")
|
||||
}
|
||||
keysym = 0x01000000 + runeValue
|
||||
keysym = Keysym(0x01000000 + runeValue)
|
||||
}
|
||||
return keysym, nil
|
||||
}
|
||||
|
||||
func KeyToKeysym(key Key) (Keysym, error) {
|
||||
if key == KeyVolumeMute {
|
||||
return xf86AudioMute, nil
|
||||
}
|
||||
if key == KeyVolumeDown {
|
||||
return xf86AudioLowerVolume, nil
|
||||
}
|
||||
if key == KeyVolumeUp {
|
||||
return xf86AudioRaiseVolume, nil
|
||||
}
|
||||
if key == KeyMediaPlayPause {
|
||||
return xf86AudioPlay, nil
|
||||
}
|
||||
if key == KeyMediaPrevTrack {
|
||||
return xf86AudioPrev, nil
|
||||
}
|
||||
if key == KeyMediaNextTrack {
|
||||
return xf86AudioNext, nil
|
||||
}
|
||||
return 0, errors.New("key not mapped to keysym")
|
||||
}
|
||||
|
|
|
|||
9
main.go
|
|
@ -66,13 +66,20 @@ func processCommand(plugin Plugin, command string) error {
|
|||
return plugin.KeyboardText(text)
|
||||
}
|
||||
arguments := strings.Split(command[1:], ";")
|
||||
if len(arguments) != 2 {
|
||||
if command[0] == 'k' && len(arguments) != 1 ||
|
||||
command[0] != 'k' && len(arguments) != 2 {
|
||||
return errors.New("wrong number of arguments")
|
||||
}
|
||||
x, err := strconv.ParseInt(arguments[0], 10, 32)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if command[0] == 'k' {
|
||||
if x < 0 || x >= int64(KeyLimit) {
|
||||
return errors.New("unsupported key")
|
||||
}
|
||||
return plugin.KeyboardKey(Key(x))
|
||||
}
|
||||
y, err := strconv.ParseInt(arguments[1], 10, 32)
|
||||
if err != nil {
|
||||
return err
|
||||
|
|
|
|||
12
plugin.go
|
|
@ -20,6 +20,7 @@
|
|||
package main
|
||||
|
||||
type PointerButton int
|
||||
type Key int
|
||||
|
||||
const (
|
||||
PointerButtonLeft PointerButton = iota
|
||||
|
|
@ -28,6 +29,16 @@ const (
|
|||
PointerButtonLimit
|
||||
)
|
||||
|
||||
const (
|
||||
KeyVolumeMute Key = iota
|
||||
KeyVolumeDown
|
||||
KeyVolumeUp
|
||||
KeyMediaPlayPause
|
||||
KeyMediaPrevTrack
|
||||
KeyMediaNextTrack
|
||||
KeyLimit
|
||||
)
|
||||
|
||||
type PluginInfo struct {
|
||||
Name string
|
||||
Init func() (Plugin, error)
|
||||
|
|
@ -50,6 +61,7 @@ func (e UnsupportedPlatformError) Error() string {
|
|||
type Plugin interface {
|
||||
Close() error
|
||||
KeyboardText(text string) error
|
||||
KeyboardKey(key Key) error
|
||||
PointerButton(button PointerButton, press bool) error
|
||||
PointerMove(deltaX, deltaY int) error
|
||||
PointerScroll(deltaHorizontal, deltaVertical int) error
|
||||
|
|
|
|||
|
|
@ -185,18 +185,14 @@ func (p *portalPlugin) Close() error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func (p *portalPlugin) KeyboardText(text string) error {
|
||||
func (p *portalPlugin) keyboardKeys(keys []Keysym) error {
|
||||
p.lock.RLock()
|
||||
defer p.lock.RUnlock()
|
||||
if p.bus == nil {
|
||||
return errors.New("dbus connection closed")
|
||||
}
|
||||
inVardict := make(map[string]dbus.Variant)
|
||||
for _, runeValue := range text {
|
||||
keysym, err := runeToKeysym(runeValue)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
for _, keysym := range keys {
|
||||
for _, state := range [...]uint32{btnPressed, btnReleased} {
|
||||
if err := p.remoteDesktop.Call(
|
||||
"org.freedesktop.portal.RemoteDesktop.NotifyKeyboardKeysym",
|
||||
|
|
@ -208,6 +204,27 @@ func (p *portalPlugin) KeyboardText(text string) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func (p *portalPlugin) KeyboardText(text string) error {
|
||||
keys := make([]Keysym, 0, len(text))
|
||||
for _, runeValue := range text {
|
||||
keysym, err := RuneToKeysym(runeValue)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
keys = append(keys, keysym)
|
||||
}
|
||||
return p.keyboardKeys(keys)
|
||||
}
|
||||
|
||||
func (p *portalPlugin) KeyboardKey(key Key) error {
|
||||
keysym, err := KeyToKeysym(key)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
keys := [...]Keysym{keysym}
|
||||
return p.keyboardKeys(keys[:])
|
||||
}
|
||||
|
||||
func (p *portalPlugin) PointerButton(button PointerButton, press bool) error {
|
||||
p.lock.RLock()
|
||||
defer p.lock.RUnlock()
|
||||
|
|
|
|||
|
|
@ -34,6 +34,13 @@ const (
|
|||
keyeventfKeyup uint32 = 0x2
|
||||
keyeventfUnicode uint32 = 0x4
|
||||
|
||||
vkVolumeMute uint16 = 0xAD
|
||||
vkVolumeDown uint16 = 0xAE
|
||||
vkVolumeUp uint16 = 0xAF
|
||||
vkMediaNextTrack uint16 = 0xB0
|
||||
vkMediaPrevTrack uint16 = 0xB1
|
||||
vkMediaPlayPause uint16 = 0xB3
|
||||
|
||||
mouseeventfMove uint32 = 0x1
|
||||
mouseeventfLeftdown uint32 = 0x2
|
||||
mouseeventfLeftup uint32 = 0x4
|
||||
|
|
@ -84,20 +91,10 @@ func (p *windowsPlugin) Close() error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func (p *windowsPlugin) KeyboardText(text string) error {
|
||||
runes := []rune(text)
|
||||
if len(runes) == 0 {
|
||||
func (p *windowsPlugin) sendInput(inputs []keybdInput) error {
|
||||
if len(inputs) == 0 {
|
||||
return nil
|
||||
}
|
||||
inputs := make([]keybdInput, len(runes)*2)
|
||||
for i := range inputs {
|
||||
inputs[i].typ = inputKeyboard
|
||||
inputs[i].wScan = uint16(runes[i/2])
|
||||
inputs[i].dwFlags = keyeventfUnicode
|
||||
if i%2 == 1 {
|
||||
inputs[i].dwFlags |= keyeventfKeyup
|
||||
}
|
||||
}
|
||||
if r, _, err := sendInputProc.Call(uintptr(len(inputs)),
|
||||
uintptr(unsafe.Pointer(&inputs[0])),
|
||||
unsafe.Sizeof(inputs[0])); int(r) != len(inputs) {
|
||||
|
|
@ -106,6 +103,42 @@ func (p *windowsPlugin) KeyboardText(text string) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func (p *windowsPlugin) KeyboardText(text string) error {
|
||||
inputs := make([]keybdInput, 0, len(text)*2)
|
||||
for _, runeValue := range text {
|
||||
in := keybdInput{typ: inputKeyboard, wScan: uint16(runeValue), dwFlags: keyeventfUnicode}
|
||||
inputs = append(inputs, in)
|
||||
in.dwFlags |= keyeventfKeyup
|
||||
inputs = append(inputs, in)
|
||||
}
|
||||
if len(inputs) == 0 {
|
||||
return nil
|
||||
}
|
||||
return p.sendInput(inputs)
|
||||
}
|
||||
|
||||
func (p *windowsPlugin) KeyboardKey(key Key) error {
|
||||
input := keybdInput{typ: inputKeyboard}
|
||||
if key == KeyVolumeMute {
|
||||
input.wVk = vkVolumeMute
|
||||
} else if key == KeyVolumeDown {
|
||||
input.wVk = vkVolumeDown
|
||||
} else if key == KeyVolumeUp {
|
||||
input.wVk = vkVolumeUp
|
||||
} else if key == KeyMediaNextTrack {
|
||||
input.wVk = vkMediaNextTrack
|
||||
} else if key == KeyMediaPrevTrack {
|
||||
input.wVk = vkMediaPrevTrack
|
||||
} else if key == KeyMediaPlayPause {
|
||||
input.wVk = vkMediaPlayPause
|
||||
} else {
|
||||
return errors.New("key not mapped to virtual-key code")
|
||||
}
|
||||
inputs := [...]keybdInput{input, input}
|
||||
inputs[1].dwFlags |= keyeventfKeyup
|
||||
return p.sendInput(inputs[:])
|
||||
}
|
||||
|
||||
func (p *windowsPlugin) PointerButton(button PointerButton, press bool) error {
|
||||
input := mouseInput{typ: inputMouse}
|
||||
if button == PointerButtonLeft && press {
|
||||
|
|
|
|||
|
|
@ -36,8 +36,8 @@ import (
|
|||
)
|
||||
|
||||
const (
|
||||
typingDelay time.Duration = 250 * time.Millisecond
|
||||
scrollDiv int = 20
|
||||
keyboardMappingDelay time.Duration = 250 * time.Millisecond
|
||||
scrollDiv int = 20
|
||||
)
|
||||
|
||||
type x11Plugin struct {
|
||||
|
|
@ -71,13 +71,13 @@ func (p *x11Plugin) Close() error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func (p *x11Plugin) KeyboardText(text string) error {
|
||||
func (p *x11Plugin) keyboardKeys(keys []Keysym) error {
|
||||
p.lock.Lock()
|
||||
defer p.lock.Unlock()
|
||||
if p.display == nil {
|
||||
return errors.New("X server connection closed")
|
||||
}
|
||||
if text == "" {
|
||||
if len(keys) == 0 {
|
||||
return nil
|
||||
}
|
||||
var minKeycodes, maxKeycodes C.int
|
||||
|
|
@ -116,25 +116,45 @@ keycodes:
|
|||
(*C.KeySym)(unsafe.Pointer(&keycodeMapping[0])), 1)
|
||||
C.XFlush(p.display)
|
||||
}()
|
||||
for _, runeValue := range text {
|
||||
keysym, err := runeToKeysym(runeValue)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
for _, keysym := range keys {
|
||||
for i := range keycodeMapping {
|
||||
keycodeMapping[i] = C.KeySym(keysym)
|
||||
}
|
||||
C.XChangeKeyboardMapping(p.display, C.int(emptyKeycode), keysymsPerKeycode,
|
||||
(*C.KeySym)(unsafe.Pointer(&keycodeMapping[0])), 1)
|
||||
// race condition!
|
||||
C.XFlush(p.display)
|
||||
time.Sleep(keyboardMappingDelay)
|
||||
C.XTestFakeKeyEvent(p.display, C.uint(emptyKeycode), C.True, 0)
|
||||
C.XTestFakeKeyEvent(p.display, C.uint(emptyKeycode), C.False, 0)
|
||||
// race condition!
|
||||
C.XFlush(p.display)
|
||||
time.Sleep(typingDelay)
|
||||
time.Sleep(keyboardMappingDelay)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (p *x11Plugin) KeyboardText(text string) error {
|
||||
keys := make([]Keysym, 0, len(text))
|
||||
for _, runeValue := range text {
|
||||
keysym, err := RuneToKeysym(runeValue)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
keys = append(keys, keysym)
|
||||
}
|
||||
return p.keyboardKeys(keys)
|
||||
}
|
||||
|
||||
func (p *x11Plugin) KeyboardKey(key Key) error {
|
||||
keysym, err := KeyToKeysym(key)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
keys := [...]Keysym{keysym}
|
||||
return p.keyboardKeys(keys[:])
|
||||
}
|
||||
|
||||
func (p *x11Plugin) sendButton(button uint, press bool) error {
|
||||
p.lock.Lock()
|
||||
defer p.lock.Unlock()
|
||||
|
|
|
|||
|
|
@ -32,6 +32,13 @@ const POINTER_BUTTON_LEFT = 0;
|
|||
const POINTER_BUTTON_RIGHT = 1;
|
||||
const POINTER_BUTTON_MIDDLE = 2;
|
||||
|
||||
const KEY_VOLUME_MUTE = 0;
|
||||
const KEY_VOLUME_DOWN = 1;
|
||||
const KEY_VOLUME_UP = 2;
|
||||
const KEY_MEDIA_PLAY_PAUSE = 3;
|
||||
const KEY_MEDIA_PREV_TRACK = 4;
|
||||
const KEY_MEDIA_NEXT_TRACK = 5;
|
||||
|
||||
var ws;
|
||||
var pad;
|
||||
var padlabel;
|
||||
|
|
@ -310,11 +317,13 @@ window.addEventListener("load", function() {
|
|||
var closed = document.getElementById("closed");
|
||||
pad = document.getElementById("pad");
|
||||
padlabel = document.getElementById("padlabel");
|
||||
var keys = document.getElementById("keys");
|
||||
var keyboard = document.getElementById("keyboard");
|
||||
var fullscreenbutton = document.getElementById("fullscreenbutton");
|
||||
var text = document.getElementById("text");
|
||||
closed.style.display = "none";
|
||||
pad.style.display = "none";
|
||||
keys.style.display = "none";
|
||||
keyboard.style.display = "none";
|
||||
text.value = "";
|
||||
|
||||
|
|
@ -337,6 +346,8 @@ window.addEventListener("load", function() {
|
|||
if (history.state == "keyboard") {
|
||||
keyboard.style.display = "flex";
|
||||
text.focus();
|
||||
} else if (history.state == "keys") {
|
||||
keys.style.display = "flex";
|
||||
} else {
|
||||
pad.style.display = "flex";
|
||||
}
|
||||
|
|
@ -348,10 +359,17 @@ window.addEventListener("load", function() {
|
|||
}
|
||||
opening.style.display = "none";
|
||||
pad.style.display = "none";
|
||||
keys.style.display = "none";
|
||||
keyboard.style.display = "none";
|
||||
closed.style.display = "flex";
|
||||
};
|
||||
|
||||
document.getElementById("keysbutton").addEventListener("click",
|
||||
function(e) {
|
||||
pad.style.display = "none";
|
||||
keys.style.display = "flex";
|
||||
history.pushState("keys", "");
|
||||
});
|
||||
document.getElementById("keyboardbutton").addEventListener("click",
|
||||
function(e) {
|
||||
if (fullscreenElement()) {
|
||||
|
|
@ -372,6 +390,17 @@ window.addEventListener("load", function() {
|
|||
requestFullscreen(pad);
|
||||
}
|
||||
});
|
||||
[{id: "prevtrackbutton", key: KEY_MEDIA_PREV_TRACK},
|
||||
{id: "playpausebutton", key: KEY_MEDIA_PLAY_PAUSE},
|
||||
{id: "nexttrackbutton", key: KEY_MEDIA_NEXT_TRACK},
|
||||
{id: "volumedownbutton", key: KEY_VOLUME_DOWN},
|
||||
{id: "volumemutebutton", key: KEY_VOLUME_MUTE},
|
||||
{id: "volumeupbutton", key: KEY_VOLUME_UP}].forEach(function(o) {
|
||||
document.getElementById(o.id).addEventListener("click",
|
||||
function(e) {
|
||||
ws.send("k" + o.key);
|
||||
});
|
||||
});
|
||||
document.getElementById("sendbutton").addEventListener("click",
|
||||
function(e) {
|
||||
if (text.value != "") {
|
||||
|
|
@ -381,8 +410,10 @@ window.addEventListener("load", function() {
|
|||
window.history.back();
|
||||
});
|
||||
window.onpopstate = function(event) {
|
||||
if (keyboard.style.display == "flex") {
|
||||
if (keyboard.style.display == "flex" ||
|
||||
keys.style.display == "flex") {
|
||||
pad.style.display = "flex";
|
||||
keys.style.display = "none";
|
||||
keyboard.style.display = "none";
|
||||
} else {
|
||||
window.history.back();
|
||||
|
|
|
|||
|
|
@ -21,6 +21,9 @@
|
|||
<button class="icon" id="reloadbutton">↻</button>
|
||||
</div>
|
||||
<div id="pad">
|
||||
<div class="buttons">
|
||||
<button class="icon" id="keysbutton">☰</button>
|
||||
</div>
|
||||
<p id="padlabel">Touchpad</p>
|
||||
<div class="buttons">
|
||||
<button class="icon" id="fullscreenbutton">⤢</button>
|
||||
|
|
@ -31,6 +34,18 @@
|
|||
<textarea id="text"></textarea>
|
||||
<button class="icon" id="sendbutton">➣</button>
|
||||
</div>
|
||||
<div id="keys">
|
||||
<div class="buttons">
|
||||
<button class="icon" id="prevtrackbutton">⏮</button>
|
||||
<button class="icon" id="playpausebutton">⏯</button>
|
||||
<button class="icon" id="nexttrackbutton">⏭</button>
|
||||
</div>
|
||||
<div class="buttons">
|
||||
<button class="icon" id="volumedownbutton">🔉</button>
|
||||
<button class="icon" id="volumemutebutton">🔇</button>
|
||||
<button class="icon" id="volumeupbutton">🔊</button>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ html,
|
|||
body,
|
||||
#pad,
|
||||
#keyboard,
|
||||
#keys,
|
||||
#opening,
|
||||
#closed {
|
||||
width: 100%;
|
||||
|
|
@ -14,6 +15,7 @@ body {
|
|||
}
|
||||
|
||||
#pad,
|
||||
#keys,
|
||||
#sendbutton,
|
||||
#opening,
|
||||
#closed {
|
||||
|
|
@ -22,21 +24,27 @@ body {
|
|||
}
|
||||
|
||||
#opening,
|
||||
#closed {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 2em;
|
||||
color: white;
|
||||
word-wrap: break-word;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
#closed,
|
||||
#keys,
|
||||
#pad {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
#opening,
|
||||
#closed {
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
font-size: 2em;
|
||||
color: white;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
#keys {
|
||||
justify-content: flex-end;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
#padlabel {
|
||||
color: gray;
|
||||
text-shadow:
|
||||
|
|
@ -59,10 +67,17 @@ body {
|
|||
}
|
||||
}
|
||||
|
||||
#keysbutton,
|
||||
#fullscreenbutton,
|
||||
#keyboardbutton,
|
||||
#sendbutton,
|
||||
#reloadbutton {
|
||||
#reloadbutton,
|
||||
#prevtrackbutton,
|
||||
#playpausebutton,
|
||||
#nexttrackbutton,
|
||||
#volumedownbutton,
|
||||
#volumemutebutton,
|
||||
#volumeupbutton {
|
||||
background-color: transparent;
|
||||
border: 1px solid black;
|
||||
height: 1.5em;
|
||||
|
|
@ -77,12 +92,24 @@ body {
|
|||
border-bottom: none;
|
||||
}
|
||||
|
||||
#fullscreenbutton {
|
||||
#keysbutton,
|
||||
#fullscreenbutton,
|
||||
#playpausebutton,
|
||||
#mutebutton {
|
||||
border-left: none;
|
||||
}
|
||||
|
||||
#keysbutton {
|
||||
border-top: none;
|
||||
}
|
||||
|
||||
#playpausebutton,
|
||||
#mutebutton,
|
||||
#keyboardbutton {
|
||||
border-right: none;
|
||||
}
|
||||
|
||||
#keyboardbutton {
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
|
|
@ -110,6 +137,27 @@ body {
|
|||
height: 100%;
|
||||
}
|
||||
|
||||
#keys > .buttons {
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
#keys > .buttons > button {
|
||||
height: 6rem;
|
||||
width: 8rem;
|
||||
}
|
||||
|
||||
@media (max-width: 25rem) {
|
||||
#keys > .buttons > button {
|
||||
width: calc(0.33 * (100vw - 1rem));
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-height: 13.5rem) {
|
||||
#keys > .buttons > button {
|
||||
height: calc(0.5 * (100vh - 1.5rem));
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-aspect-ratio: 4/3) {
|
||||
#keyboard {
|
||||
flex-direction: column;
|
||||
|
|
|
|||