The Birdfont Source Code


All Repositories / birdfont.git / commit – RSS feed

Merge branch 'master' of gitorious.org:birdfont/birdfont

These changes was commited to the Birdfont repository Thu, 12 Mar 2015 20:02:20 +0000.

Contributing

Send patches or pull requests to johan.mattsson.m@gmail.com.
Clone this repository: git clone https://github.com/johanmattssonm/birdfont.git
author Johan Mattsson <johan.mattsson.m@gmail.com>
Thu, 12 Mar 2015 20:02:20 +0000 (21:02 +0100)
committer Johan Mattsson <johan.mattsson.m@gmail.com>
Thu, 12 Mar 2015 20:02:20 +0000 (21:02 +0100)
commit 62051140fa36608c539366669422d51552284b0a
tree 7880244fbd243404b3a625f4b4725d3d1eb9cb91
parent 39a04a858fac530a1d21394e73f11d889d558da3
parent 481d5bc5f88ebb99ff12999a7f81483d7c4789ff
Merge branch 'master' of gitorious.org:birdfont/birdfont

36 files changed:
README
birdfont/GtkWindow.vala
graphics/tools_and_buttons.svg
libbirdfont/Argument.vala
libbirdfont/BirdFont.vala
libbirdfont/CutBackgroundTool.vala
libbirdfont/Expander.vala
libbirdfont/FileDialogTab.vala
libbirdfont/FontName.vala
libbirdfont/Glyph.vala
libbirdfont/KerningDisplay.vala
libbirdfont/KerningRange.vala
libbirdfont/LigatureList.vala
libbirdfont/Ligatures.vala
libbirdfont/Line.vala
libbirdfont/MainWindow.vala
libbirdfont/MenuTab.vala
libbirdfont/NativeWindow.vala
libbirdfont/OpenFontFormat/Ligature.vala
libbirdfont/OverView.vala
libbirdfont/Renderer/FontCache.vala
libbirdfont/Renderer/LineTextArea.vala
libbirdfont/Renderer/Text.vala
libbirdfont/Renderer/TextArea.vala
libbirdfont/SpacingClass.vala
libbirdfont/SpacingClassTab.vala
libbirdfont/SpacingTab.vala
libbirdfont/SpinButton.vala
libbirdfont/TabBar.vala
libbirdfont/TabContent.vala
libbirdfont/Tool.vala
libbirdfont/Toolbox.vala
libbirdfont/ZoomTool.vala
resources/icons.bf [new ]
scripts/linux_build.py
diff --git a/README b/README
--- a/README +++ b/README @@ -19,8 +19,9 @@ valac libgee-dev libglib2.0-dev - libgtk2.0-dev + libgtk-3-dev libwebkitgtk-dev + libnotify-dev unicode-data (unicode character database) BirdFont have two build systems, one python script that builds all binaries at
--- a/birdfont/GtkWindow.vala +++ b/birdfont/GtkWindow.vala @@ -427,12 +427,16 @@ public void file_chooser (string title, FileChooser fc, uint flags) { string? fn = null; - if ((flags & FileChooser.LOAD) > 0) { - fn = show_file_chooser (title, FileChooserAction.OPEN, Stock.OPEN); - } else if ((flags & FileChooser.SAVE) > 0) { - fn = show_file_chooser (title, FileChooserAction.SAVE, Stock.SAVE); - } else { - warning ("Unknown type"); + if (BirdFont.get_arguments () .has_argument ("--windows")) { + MenuTab.show_file_dialog_tab (title, fc); + } else { + if ((flags & FileChooser.LOAD) > 0) { + fn = show_file_chooser (title, FileChooserAction.OPEN, Stock.OPEN); + } else if ((flags & FileChooser.SAVE) > 0) { + fn = show_file_chooser (title, FileChooserAction.SAVE, Stock.SAVE); + } else { + warning ("Unknown type"); + } } fc.selected (fn);
--- a/graphics/tools_and_buttons.svg +++ b/graphics/tools_and_buttons.svg @@ -1523,9 +1523,9 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="4.0000001" - inkscape:cx="459.05169" - inkscape:cy="687.23668" + inkscape:zoom="1" + inkscape:cx="435.25185" + inkscape:cy="-322.01977" inkscape:current-layer="layer1" inkscape:document-units="px" showgrid="false" @@ -1545,7 +1545,7 @@ <dc:format>image/svg+xml</dc:format> <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - <dc:title></dc:title> + <dc:title /> </cc:Work> </rdf:RDF> </metadata> @@ -5796,6 +5796,1637 @@ id="path3824" inkscape:connector-curvature="0" /> </g> + <path + id="path4367-4-0" + style="fill:none;stroke:#656a73;stroke-width:2.72069192;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="m 98.033883,854.02342 3.134727,-6.7105 17.34694,6.1151 -2.54807,6.367" + inkscape:connector-curvature="0" + inkscape:export-filename="/home/johan/birdfont/icons/foresight.png" + inkscape:export-xdpi="319" + inkscape:export-ydpi="319" /> + <path + style="fill:none;stroke:#656a73;stroke-width:2.72069192;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="m 93.913986,860.97632 4.080603,-6.5455 c 1.827748,1.4119 5.033241,3.2863 7.851261,4.2358 3.24551,1.0936 6.76726,1.059 10.15086,1.5884 l -0.42786,7.9185" + id="path4254-2-4" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccscc" + inkscape:export-filename="/home/johan/birdfont/icons/foresight.png" + inkscape:export-xdpi="319" + inkscape:export-ydpi="319" /> + <path + style="fill:none;stroke:#656a73;stroke-width:2.72069192;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="m 86.333963,905.97542 -6.950387,-0.3224 c 1.543989,-6.6112 3.52778,-16.9305 8.309939,-33.1236 l 6.220471,-11.553 c 0,0 7.082914,3.9917 10.908824,4.9079 4.34858,1.0413 10.74771,2.1259 10.74771,2.1259 l -0.13025,12.6571 c -11.29655,6.2295 -21.065578,14.4274 -29.106266,25.3082 z" + id="path3470-4-7" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccsccc" + inkscape:export-filename="/home/johan/birdfont/icons/foresight.png" + inkscape:export-xdpi="319" + inkscape:export-ydpi="319" /> + <path + style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#656a73;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + d="m 94.461957,878.09152 c -2.321447,0.9336 -3.648218,3.4009 -3.622568,5.6131 0,0 -3.307924,5.2545 -5.694755,10.6797 -2.024159,4.6009 -4.218339,11.0034 -4.218339,11.0034 l 1.212049,0.6316 c 0,0 2.309838,-6.8416 4.504409,-11.6108 2.695335,-5.8575 5.493011,-10.3013 5.425283,-10.1573 2.141503,-1.5948 2.581443,-4.0293 2.393921,-6.1597 z" + id="path3472-4-2" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccsccscc" + inkscape:export-filename="/home/johan/birdfont/icons/foresight.png" + inkscape:export-xdpi="319" + inkscape:export-ydpi="319" /> + <path + style="fill:#656a73;fill-opacity:1;stroke:none" + d="m 380.52473,853.83533 0,5.82819 14.10299,0 0,-2.30244 44.23216,0 0,2.62297 13.46196,0 -0.32054,-5.18715 -35.25753,-9.29516 z" + id="path3075-4-8-0" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccccccccc" /> + <path + sodipodi:nodetypes="cccccccccc" + inkscape:connector-curvature="0" + id="path3140-7-2" + d="m 380.52473,912.6328 0,-5.8282 14.10299,0 0,2.30244 44.23216,0 0,-2.62296 13.46196,0 -0.32054,5.18715 -35.25753,9.29516 z" + style="fill:#656a73;fill-opacity:1;stroke:none" /> + <path + style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#656a73;fill-opacity:1;stroke:none;stroke-width:1.85107493;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + d="m 96.616432,950.96875 c -9.876219,0 -17.875,8.06128 -17.875,17.9375 0,9.87622 7.998781,17.90625 17.875,17.90625 2.36332,0 4.615918,-0.4785 6.687498,-1.3125 l 14.65625,25.3438 3.15625,-1.8126 -14.59375,-25.2187 c 4.84343,-3.20716 8.0625,-8.68383 8.0625,-14.90625 0,-9.87622 -8.09253,-17.9375 -17.968748,-17.9375 z m 0,3.65625 c 7.920928,0 14.312498,6.36031 14.312498,14.28125 0,7.92093 -6.39157,14.3125 -14.312498,14.3125 -7.920938,0 -14.28125,-6.39157 -14.28125,-14.3125 0,-7.92094 6.360312,-14.28125 14.28125,-14.28125 z" + id="path3135-3-4" + inkscape:connector-curvature="0" /> + <path + style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#656a73;fill-opacity:1;stroke:none;stroke-width:3.61794162;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + d="m 236.1875,851.5 -2.84375,2.0625 23.21875,55.03125 1.875,4.4375 1.5,-4.59375 4.65625,-14.125 14.84375,-1.8125 4.0625,-0.46875 -3.125,-2.6875 L 236.1875,851.5 z m 3.5,7.75 35.1875,30.15625 L 263,890.84375 261.875,891 261.5,892.09375 258,902.71875 239.6875,859.25 z" + id="path3320-0-1-5" + inkscape:connector-curvature="0" /> + <path + style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.98000004;color:#000000;fill:#656a73;fill-opacity:1;stroke:none;stroke-width:2.72069192;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + d="m 257.125,945.09375 c -1.38203,-0.026 -2.64697,0.4101 -3.5,1.25 -0.85303,0.8399 -1.2831,1.95706 -1.53125,3.125 -0.49631,2.33588 -0.33493,5.14411 -0.3125,8.03125 0.0247,3.17118 -0.18994,6.01086 -0.34375,9.125 -1.1651,-2.87716 -2.31435,-6.02804 -2.875,-8.625 -0.5143,-2.38229 -0.96948,-4.64619 -1.90625,-6.40625 -0.46838,-0.88003 -1.08208,-1.6512 -1.96875,-2.15625 -0.88667,-0.50505 -2.02968,-0.62126 -3.125,-0.34375 -1.42063,0.35992 -2.564,0.93927 -3.375,1.8125 -0.811,0.87323 -1.20465,1.97588 -1.34375,3.09375 -0.2782,2.23573 0.3471,4.6411 1,7.28125 0.95,3.84172 2.76862,7.94705 3.84375,11.5 0.53757,1.77647 0.866,3.42438 0.875,4.71875 0.005,0.67966 -0.0543,1.23706 -0.21875,1.71875 -1.35262,-1.17817 -2.36408,-1.81726 -3.875,-2.8125 -2.24587,-2.97089 -3.55139,-5.02241 -5.53125,-5.90625 -1.01794,-0.45443 -2.24381,-0.37959 -3.28125,0.125 -1.03744,0.50459 -2.00383,1.34756 -3.15625,2.5 -0.55551,0.55552 -0.71692,1.32084 -0.6875,1.90625 0.0294,0.58541 0.19154,1.06556 0.375,1.5 0.18346,0.43444 0.40972,0.80042 0.59375,1.09375 0.092,0.14666 0.17408,0.30103 0.25,0.40625 0.0759,0.10522 0.0717,0.13422 0.25,0.3125 0.51656,0.51659 0.883,1.49956 1.28125,2.8125 0.39825,1.31294 0.8801,2.94259 2.1875,4.25 3.65473,3.65474 4.97206,4.6596 9.53125,9.21875 1.28152,1.28151 1.88789,4.00585 2.03125,6.5 0.0717,1.2471 0.0514,2.4107 0.0313,3.3125 -0.0101,0.4509 -0.004,0.8344 0,1.1563 0.002,0.1609 -0.0208,0.2964 0,0.4687 0.0208,0.1723 -0.16705,0.3642 0.4375,0.9687 0.65325,0.6533 1.44749,0.9481 2.40625,1.25 0.95876,0.302 2.10307,0.5476 3.375,0.75 2.54385,0.4049 5.60917,0.6417 8.6875,0.7188 3.07833,0.077 6.15795,-0.017 8.65625,-0.2812 1.24915,-0.1321 2.35229,-0.2922 3.28125,-0.5313 0.92896,-0.2391 1.67505,-0.4563 2.34375,-1.125 0.61845,-0.6185 0.80968,-1.4032 0.84375,-2.0625 0.0341,-0.6593 -0.0749,-1.2969 -0.15625,-1.875 -0.16265,-1.1562 -0.15326,-2.1622 -0.125,-2.2188 0.99824,-1.99644 1.4545,-4.78555 2.03125,-7.56245 0.57675,-2.7769 1.29439,-5.51973 2.15625,-6.8125 2.17338,-1.60256 3.9192,-4.28919 5.40625,-7.21875 1.58721,-3.12689 2.8452,-6.46548 3.6875,-8.78125 1.57816,-4.33898 2.36249,-7.81651 1.71875,-10.4375 -0.32187,-1.3105 -1.20874,-2.48558 -2.53125,-2.875 -1.32251,-0.38942 -2.78808,-0.0917 -4.4375,0.625 l -0.375,0.15625 -0.21875,0.375 c -1.05312,1.75056 -1.91221,4.35163 -3.1875,7.09375 -0.74337,1.59839 -1.66241,3.14773 -2.71875,4.59375 0.25124,-2.85444 0.65658,-6.02033 1.4375,-9.125 0.7941,-3.15706 1.69788,-6.1445 1.90625,-8.59375 0.10419,-1.22462 0.0781,-2.37535 -0.53125,-3.40625 -0.60931,-1.0309 -1.88898,-1.63879 -3.21875,-1.625 -1.28813,0.0136 -2.45585,0.50183 -3.34375,1.25 -0.8879,0.74817 -1.50842,1.73874 -2.03125,2.8125 -1.04567,2.14753 -1.68163,4.72841 -2.40625,7.21875 -0.83115,2.85645 -1.5662,4.44375 -2.40625,6.65625 -0.41018,-2.85317 -0.79656,-6.10246 -1,-9.3125 -0.16921,-2.67147 -0.14475,-5.23635 -0.59375,-7.375 -0.2245,-1.06933 -0.5644,-2.06149 -1.28125,-2.875 -0.71685,-0.81351 -1.82158,-1.32115 -3.03125,-1.34375 z m -0.0625,2.71875 c 0.61262,0.0114 0.8201,0.13116 1.0625,0.40625 0.2424,0.27509 0.48406,0.8361 0.65625,1.65625 0.34437,1.6403 0.35459,4.21097 0.53125,7 0.3685,5.81446 1.41259,12.2466 1.875,14.8125 l 0.75,4.15625 1.8125,-3.78125 c 0.95933,-2.00163 2.82947,-6.8407 4.3125,-11.9375 0.74578,-2.56306 1.37742,-5.08463 2.21875,-6.8125 0.42066,-0.86394 0.87244,-1.50911 1.34375,-1.90625 0.47131,-0.39714 0.9305,-0.61764 1.625,-0.625 0.71497,-0.007 0.72524,0.0807 0.84375,0.28125 0.11851,0.2005 0.2692,0.85217 0.1875,1.8125 -0.1634,1.92065 -1.06186,4.92351 -1.875,8.15625 -1.22945,4.88789 -1.75489,10.20297 -1.78125,13.65625 l -0.0313,2.90625 2.25,-1.84375 c 2.82044,-2.31375 4.61637,-5.46712 5.96875,-8.375 1.26638,-2.72298 2.13899,-5.1043 2.84375,-6.40625 0.97213,-0.33599 1.82634,-0.49419 2.125,-0.40625 0.36042,0.10613 0.51455,0.23332 0.6875,0.9375 0.3459,1.40836 -0.12436,4.71793 -1.625,8.84375 -0.82687,2.27333 -2.09462,5.54664 -3.59375,8.5 -1.49913,2.95336 -3.3427,5.56535 -4.84375,6.53125 l -0.21875,0.15625 -0.15625,0.25 c -1.36823,2.05233 -1.97671,4.92955 -2.5625,7.75 -0.58579,2.82045 -1.13286,5.60946 -1.78125,6.90625 -0.71664,1.4333 -0.3092,2.7253 -0.15625,3.8125 0.0765,0.5436 0.14068,1.0403 0.125,1.3438 -0.0157,0.3034 -0.0773,0.3272 -0.0313,0.2812 0.0671,-0.067 -0.39818,0.2504 -1.125,0.4375 -0.72682,0.1871 -1.71221,0.3459 -2.875,0.4687 -2.32559,0.2458 -5.2993,0.3248 -8.28125,0.25 -2.98195,-0.075 -6.00656,-0.3105 -8.375,-0.6874 -1.18422,-0.1885 -2.20543,-0.4159 -2.96875,-0.6563 -0.55922,-0.1761 -0.74157,-0.3209 -0.9375,-0.4375 0.002,-0.2168 -0.007,-0.4286 0,-0.75 0.0204,-0.9107 0.0477,-2.157 -0.0313,-3.5312 -0.15798,-2.74854 -0.61909,-6.05666 -2.8125,-8.25005 -4.60109,-4.60105 -5.96065,-5.64814 -9.5625,-9.25 -0.74329,-0.74329 -1.11281,-1.81727 -1.5,-3.09375 -0.38363,-1.26473 -0.73928,-2.74974 -1.90625,-3.9375 0.037,0.0513 0.10458,0.10455 -0.0313,-0.0313 -0.0361,-0.0512 -0.0725,-0.135 -0.125,-0.21875 -0.12306,-0.19615 -0.26834,-0.46618 -0.375,-0.71875 -0.10132,-0.23994 -0.1782,-0.42966 -0.1875,-0.53125 0.99827,-0.98383 1.80757,-1.59816 2.3125,-1.84375 0.52743,-0.25653 0.64364,-0.25284 1,-0.0937 0.71273,0.31817 2.24241,2.1183 4.625,5.25 l 0.15625,0.1875 0.1875,0.125 c 2.30779,1.54527 2.58511,1.32551 4.875,3.65625 l 0.96875,1.03125 0.96875,-1.03125 c 1.22751,-1.28737 1.69959,-3.01211 1.6875,-4.75 -0.0121,-1.73789 -0.45676,-3.57026 -1.03125,-5.46875 -1.14898,-3.79698 -2.91983,-7.89152 -3.78125,-11.375 -0.65018,-2.62915 -1.14455,-4.86843 -0.96875,-6.28125 0.0879,-0.70641 0.28298,-1.19183 0.65625,-1.59375 0.37327,-0.40192 0.99625,-0.76112 2.0625,-1.03125 0.57185,-0.14489 0.82767,-0.0891 1.09375,0.0625 0.26608,0.15156 0.58587,0.49179 0.90625,1.09375 0.64077,1.20391 1.14645,3.32609 1.65625,5.6875 1.09636,5.07841 4.05513,11.84257 5.4375,14.625 l 2.125,4.25 0.46875,-4.71875 c 0.33713,-3.4245 0.60386,-9.92982 0.5625,-15.25 -0.023,-2.95496 -0.11861,-5.70265 0.25,-7.4375 0.1843,-0.86742 0.47073,-1.44426 0.78125,-1.75 0.31052,-0.30574 0.68298,-0.48472 1.53125,-0.46875 z" + id="path4276-2-3-3-1" + inkscape:connector-curvature="0" /> + <path + style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#656a73;fill-opacity:1;stroke:none;stroke-width:3.61794162;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + d="m 397.3125,963.5625 3.0625,3.0625 7.46875,7.46875 -4.1875,4.1875 -7.3125,-6.78125 -3.03125,-2.8125 0,4.125 0,32.6563 0,1.8124 1.8125,0 33.9375,0 4.28125,0 -2.96875,-3.0937 -6.53125,-6.6875 3,-3.125 6.59375,6.5938 3.0625,3.0937 0,-4.375 0,-34.3125 0,-1.8125 -1.78125,0 -33.0625,0 -4.34375,0 z m 8.6875,3.59375 26.90625,0 0,28.15625 -4.8125,-4.8125 -1.3125,-1.3125 -1.28125,1.34375 -5.46875,5.71875 -1.21875,1.25 1.21875,1.25 4.78125,4.9062 -27.90625,0 0,-26.68745 5.59375,5.15625 1.28125,1.15625 1.21875,-1.21875 6.6875,-6.6875 1.28125,-1.28125 L 411.6875,972.8125 406,967.15625 z" + id="path4060-1-4" + inkscape:connector-curvature="0" /> + <path + style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#626b76;fill-opacity:1;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + d="m 258.5756,1056.9274 c -15.49549,0 -28.03905,12.5435 -28.03905,28.039 0,15.4955 12.54356,28.1521 28.03905,28.1521 15.49548,0 28.1521,-12.6566 28.1521,-28.1521 0,-15.4955 -12.65662,-28.039 -28.1521,-28.039 z m 0,3.6179 c 13.5402,0 24.53416,10.8809 24.53416,24.4211 0,13.5402 -10.99396,24.5342 -24.53416,24.5342 -13.54021,0 -24.42111,-10.994 -24.42111,-24.5342 0,-13.5402 10.8809,-24.4211 24.42111,-24.4211 z" + id="path4997-5-8-3" + inkscape:connector-curvature="0" /> + <g + id="g3261-7-8-4" + style="fill:none;stroke:#626b76;stroke-width:1.50041127;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + transform="matrix(1.9290401,0,0,1.9290401,149.37439,1050.3913)" + inkscape:export-filename="/home/johan/birdfont/icons/move_background.png" + inkscape:export-xdpi="319.88824" + inkscape:export-ydpi="319.88824"> + <g + id="g3233-0-3-5" + style="fill:none;stroke:#626b76;stroke-width:1.50041127;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"> + <g + id="g3220-0-5-2" + style="fill:none;stroke:#626b76;stroke-width:1.50041127;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"> + <g + transform="translate(1.0552765,-0.4020101)" + id="g3149-0-0-6" + style="fill:none;stroke:#626b76;stroke-width:1.50041127;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"> + <path + style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#626b76;fill-opacity:1;stroke:none;stroke-width:1.50041127;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + d="m 55.5625,7.75 -0.625,0.90625 -3.15625,4.53125 -0.8125,1.1875 1.4375,0 6.25,0 1.40625,0 L 59.28125,13.21875 56.1875,8.65625 55.5625,7.75 z m -0.03125,2.65625 1.6875,2.46875 -3.375,0 1.6875,-2.46875 z" + id="path3139-0-1-0" + inkscape:connector-curvature="0" /> + <path + style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#626b76;fill-opacity:1;stroke:none;stroke-width:1.50041127;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + d="m 54.8125,13.84375 0,6.125 1.5,0 0,-6.125 -1.5,0 z" + id="path3147-9-3-1" + inkscape:connector-curvature="0" /> + </g> + </g> + <g + id="g3225-1-9-7" + transform="matrix(-1,0,0,-1,113.26633,36.477369)" + style="fill:none;stroke:#626b76;stroke-width:1.50041127;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"> + <g + id="g3227-8-5-7" + transform="translate(1.0552765,-0.4020101)" + style="fill:none;stroke:#626b76;stroke-width:1.50041127;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"> + <path + style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#626b76;fill-opacity:1;stroke:none;stroke-width:1.50041127;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + d="m 55.5625,7.75 -0.625,0.90625 -3.15625,4.53125 -0.8125,1.1875 1.4375,0 6.25,0 1.40625,0 L 59.28125,13.21875 56.1875,8.65625 55.5625,7.75 z m -0.03125,2.65625 1.6875,2.46875 -3.375,0 1.6875,-2.46875 z" + id="path3229-5-4-3" + inkscape:connector-curvature="0" /> + <path + style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#626b76;fill-opacity:1;stroke:none;stroke-width:1.50041127;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + d="m 54.8125,13.84375 0,6.125 1.5,0 0,-6.125 -1.5,0 z" + id="path3231-1-4-0" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <g + transform="matrix(0,1,-1,0,74.871849,-38.494983)" + id="g3243-2-5-8" + style="fill:none;stroke:#626b76;stroke-width:1.50041127;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"> + <g + id="g3245-8-0-7" + style="fill:none;stroke:#626b76;stroke-width:1.50041127;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"> + <g + id="g3247-8-6-4" + transform="translate(1.0552765,-0.4020101)" + style="fill:none;stroke:#626b76;stroke-width:1.50041127;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"> + <path + style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#626b76;fill-opacity:1;stroke:none;stroke-width:1.50041127;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + d="m 55.5625,7.75 -0.625,0.90625 -3.15625,4.53125 -0.8125,1.1875 1.4375,0 6.25,0 1.40625,0 L 59.28125,13.21875 56.1875,8.65625 55.5625,7.75 z m -0.03125,2.65625 1.6875,2.46875 -3.375,0 1.6875,-2.46875 z" + id="path3249-9-9-3" + inkscape:connector-curvature="0" /> + <path + style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#626b76;fill-opacity:1;stroke:none;stroke-width:1.50041127;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + d="m 54.8125,13.84375 0,6.125 1.5,0 0,-6.125 -1.5,0 z" + id="path3251-9-6-3" + inkscape:connector-curvature="0" /> + </g> + </g> + <g + transform="matrix(-1,0,0,-1,113.26633,36.477369)" + id="g3253-7-6-4" + style="fill:none;stroke:#626b76;stroke-width:1.50041127;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"> + <g + transform="translate(1.0552765,-0.4020101)" + id="g3255-8-5-3" + style="fill:none;stroke:#626b76;stroke-width:1.50041127;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"> + <path + style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#626b76;fill-opacity:1;stroke:none;stroke-width:1.50041127;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + d="m 55.5625,7.75 -0.625,0.90625 -3.15625,4.53125 -0.8125,1.1875 1.4375,0 6.25,0 1.40625,0 L 59.28125,13.21875 56.1875,8.65625 55.5625,7.75 z m -0.03125,2.65625 1.6875,2.46875 -3.375,0 1.6875,-2.46875 z" + id="path3257-9-6-5" + inkscape:connector-curvature="0" /> + <path + style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#626b76;fill-opacity:1;stroke:none;stroke-width:1.50041127;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + d="m 54.8125,13.84375 0,6.125 1.5,0 0,-6.125 -1.5,0 z" + id="path3259-7-9-8" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + </g> + <path + sodipodi:type="arc" + style="fill:none;stroke:#656a73;stroke-width:1.37405884;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + id="path4160-6-2" + sodipodi:cx="18.477161" + sodipodi:cy="87.187637" + sodipodi:rx="11.086297" + sodipodi:ry="11.086297" + d="m 29.563458,87.187637 a 11.086297,11.086297 0 1 1 -22.1725936,0 11.086297,11.086297 0 1 1 22.1725936,0 z" + transform="matrix(2.6330327,0,0,2.6330327,54.812251,968.36882)" + inkscape:export-filename="/home/johan/birdfont/icons/quadratic_points.png" + inkscape:export-xdpi="319.88824" + inkscape:export-ydpi="319.88824" /> + <g + style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#656a73;fill-opacity:1;stroke:none;font-family:Sans" + id="text4162-7-0" + transform="matrix(3.6179417,0,0,3.6179417,33.528581,885.58232)" + inkscape:export-filename="/home/johan/birdfont/icons/quadratic_points.png" + inkscape:export-xdpi="319" + inkscape:export-ydpi="319"> + <path + d="m 18.396109,88.915932 3.442382,0 0,0.830078 -4.628906,0 0,-0.830078 c 0.374348,-0.387369 0.883788,-0.906574 1.528321,-1.557617 0.647783,-0.654294 1.054684,-1.075843 1.220703,-1.264649 0.315751,-0.354814 0.535477,-0.654292 0.659179,-0.898437 0.126949,-0.247391 0.190426,-0.489904 0.19043,-0.727539 -4e-6,-0.387365 -0.136723,-0.70312 -0.410156,-0.947266 -0.270186,-0.244134 -0.623376,-0.366204 -1.059571,-0.366211 -0.309247,7e-6 -0.636395,0.05372 -0.981445,0.161133 -0.341798,0.107428 -0.708009,0.270188 -1.098633,0.488281 l 0,-0.996094 c 0.397135,-0.159498 0.768228,-0.27994 1.113282,-0.361328 0.345049,-0.08137 0.660804,-0.122063 0.947265,-0.12207 0.755205,7e-6 1.357418,0.188809 1.806641,0.566406 0.449213,0.377611 0.673823,0.882168 0.673828,1.513672 -5e-6,0.299484 -0.05697,0.584315 -0.170898,0.854492 -0.110683,0.266931 -0.314133,0.582686 -0.610352,0.947266 -0.08139,0.0944 -0.340174,0.367841 -0.776367,0.820312 -0.436201,0.449221 -1.051435,1.079103 -1.845703,1.889649" + id="path3793-8-0" + inkscape:connector-curvature="0" + style="fill:#656a73;fill-opacity:1" /> + </g> + <path + inkscape:export-ydpi="319.88824" + inkscape:export-xdpi="319.88824" + inkscape:export-filename="/home/johan/birdfont/icons/cubic_points.png" + transform="matrix(2.6330327,0,0,2.6330327,213.65172,966.73792)" + d="m 29.563458,87.187637 a 11.086297,11.086297 0 1 1 -22.1725936,0 11.086297,11.086297 0 1 1 22.1725936,0 z" + sodipodi:ry="11.086297" + sodipodi:rx="11.086297" + sodipodi:cy="87.187637" + sodipodi:cx="18.477161" + id="path4173-37-4" + style="fill:none;stroke:#656a73;stroke-width:1.37405884;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + sodipodi:type="arc" /> + <g + style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#656a73;fill-opacity:1;stroke:none;font-family:Sans" + id="text4175-8-2" + transform="matrix(3.6179417,0,0,3.6179417,63.811731,882.92302)" + inkscape:export-filename="/home/johan/birdfont/icons/cubic_points.png" + inkscape:export-xdpi="319" + inkscape:export-ydpi="319"> + <path + d="m 56.067783,86.099609 c 0.472001,0.100916 0.839839,0.310876 1.103516,0.629883 0.266922,0.319014 0.400385,0.712893 0.400391,1.181641 -6e-6,0.719402 -0.247402,1.276042 -0.742188,1.669922 -0.494796,0.39388 -1.19792,0.59082 -2.109375,0.59082 -0.305992,0 -0.621747,-0.03092 -0.947266,-0.09277 -0.322267,-0.05859 -0.655925,-0.148112 -1.000976,-0.268555 l 0,-0.952149 c 0.273436,0.159507 0.572915,0.279949 0.898437,0.361329 0.325519,0.08138 0.665688,0.122071 1.020508,0.12207 0.618487,10e-7 1.088864,-0.12207 1.411133,-0.366211 0.325516,-0.244139 0.488277,-0.598957 0.488281,-1.064453 -4e-6,-0.429685 -0.151371,-0.764971 -0.454101,-1.00586 -0.299483,-0.244137 -0.717777,-0.366207 -1.254883,-0.366211 l -0.849609,0 0,-0.810546 0.888671,0 c 0.485023,4e-6 0.856116,-0.09602 1.113282,-0.288086 0.257157,-0.195308 0.385737,-0.475256 0.385742,-0.839844 -5e-6,-0.374343 -0.133468,-0.660801 -0.400391,-0.859375 -0.263675,-0.201816 -0.642907,-0.302728 -1.137695,-0.302734 -0.270185,6e-6 -0.559898,0.0293 -0.869141,0.08789 -0.309246,0.0586 -0.649415,0.149746 -1.020508,0.273438 l 0,-0.878907 c 0.374348,-0.104159 0.724283,-0.182284 1.049805,-0.234375 0.328774,-0.05208 0.638018,-0.07812 0.927735,-0.07813 0.748694,8e-6 1.341141,0.170906 1.777343,0.512696 0.436193,0.338548 0.654292,0.797532 0.654297,1.376953 -5e-6,0.403651 -0.115565,0.745447 -0.34668,1.02539 -0.231124,0.276697 -0.5599,0.468755 -0.986328,0.576172" + id="path3790-4-0" + inkscape:connector-curvature="0" + style="fill:#656a73;fill-opacity:1" /> + </g> + <path + sodipodi:type="arc" + style="fill:none;stroke:#656a73;stroke-width:1.37405884;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + id="path4181-0-0" + sodipodi:cx="18.477161" + sodipodi:cy="87.187637" + sodipodi:rx="11.086297" + sodipodi:ry="11.086297" + d="m 29.563458,87.187637 a 11.086297,11.086297 0 1 1 -22.1725936,0 11.086297,11.086297 0 1 1 22.1725936,0 z" + transform="matrix(2.6330327,0,0,2.6330327,367.10157,967.02192)" + inkscape:export-filename="/home/johan/birdfont/icons/double_points.png" + inkscape:export-xdpi="319.88824" + inkscape:export-ydpi="319.88824" /> + <g + style="font-size:6.97485256px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#656a73;fill-opacity:1;stroke:none;font-family:Sans" + id="text4183-7-4" + transform="matrix(3.6179417,0,0,3.6179417,75.335387,881.15012)" + inkscape:export-filename="/home/johan/birdfont/icons/double_points.png" + inkscape:export-xdpi="319" + inkscape:export-ydpi="319"> + <path + d="m 89.103161,88.897221 2.401011,0 0,0.578968 -3.228594,0 0,-0.578968 c 0.261102,-0.270183 0.616429,-0.632321 1.065981,-1.086415 0.45182,-0.45636 0.735627,-0.750384 0.851423,-0.882073 0.220231,-0.247478 0.373487,-0.45636 0.459768,-0.626647 0.08854,-0.172552 0.132818,-0.341701 0.132822,-0.507448 -4e-6,-0.270181 -0.09536,-0.490415 -0.286078,-0.660704 -0.188451,-0.17028 -0.434796,-0.255422 -0.739035,-0.255426 -0.215696,4e-6 -0.443877,0.03747 -0.684544,0.112387 -0.238399,0.07493 -0.493826,0.188453 -0.76628,0.340569 l 0,-0.69476 c 0.276995,-0.111248 0.535828,-0.195255 0.776497,-0.252021 0.240668,-0.05676 0.460902,-0.08514 0.660704,-0.08514 0.526744,5e-6 0.946779,0.131692 1.260105,0.39506 0.31332,0.263378 0.469982,0.615299 0.469986,1.055764 -4e-6,0.208886 -0.03974,0.407551 -0.1192,0.595996 -0.0772,0.18618 -0.219102,0.406415 -0.425711,0.660704 -0.05676,0.06584 -0.237266,0.256564 -0.541504,0.572155 -0.304244,0.313326 -0.733361,0.752659 -1.287351,1.318002" + id="path3783-7-5" + inkscape:connector-curvature="0" + style="fill:#656a73;fill-opacity:1" /> + <path + d="m 96.03374,85.661816 -1.379305,1.856101 1.450824,1.958272 -0.739035,0 -1.110255,-1.498504 -1.110254,1.498504 -0.739035,0 1.481475,-1.995735 -1.355465,-1.818638 0.739035,0 1.01149,1.35887 1.01149,-1.35887 0.739035,0" + id="path3785-1-3" + inkscape:connector-curvature="0" + style="fill:#656a73;fill-opacity:1" /> + <path + d="m 97.671877,88.897221 2.401013,0 0,0.578968 -3.228596,0 0,-0.578968 c 0.261102,-0.270183 0.616429,-0.632321 1.065981,-1.086415 0.45182,-0.45636 0.735627,-0.750384 0.851423,-0.882073 0.220232,-0.247478 0.373487,-0.45636 0.459768,-0.626647 0.08854,-0.172552 0.132819,-0.341701 0.132822,-0.507448 -3e-6,-0.270181 -0.09536,-0.490415 -0.286078,-0.660704 -0.188451,-0.17028 -0.434796,-0.255422 -0.739035,-0.255426 -0.215696,4e-6 -0.443876,0.03747 -0.684544,0.112387 -0.238399,0.07493 -0.493826,0.188453 -0.76628,0.340569 l 0,-0.69476 c 0.276995,-0.111248 0.535828,-0.195255 0.776497,-0.252021 0.240668,-0.05676 0.460902,-0.08514 0.660704,-0.08514 0.526744,5e-6 0.946779,0.131692 1.260105,0.39506 0.31332,0.263378 0.469983,0.615299 0.469983,1.055764 0,0.208886 -0.0397,0.407551 -0.119197,0.595996 -0.0772,0.18618 -0.219102,0.406415 -0.425711,0.660704 -0.05676,0.06584 -0.237266,0.256564 -0.541504,0.572155 -0.304244,0.313326 -0.733361,0.752659 -1.287351,1.318002" + id="path3787-3-8" + inkscape:connector-curvature="0" + style="fill:#656a73;fill-opacity:1" /> + </g> + <path + sodipodi:type="arc" + style="fill:none;stroke:#656a73;stroke-width:1.37405884;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + id="path4226-0-8" + sodipodi:cx="18.477161" + sodipodi:cy="87.187637" + sodipodi:rx="11.086297" + sodipodi:ry="11.086297" + d="m 29.563458,87.187637 a 11.086297,11.086297 0 1 1 -22.1725936,0 11.086297,11.086297 0 1 1 22.1725936,0 z" + transform="matrix(2.6330327,0,0,2.6330327,524.59185,965.39122)" + inkscape:export-filename="/home/johan/birdfont/icons/convert_point.png" + inkscape:export-xdpi="319.88824" + inkscape:export-ydpi="319.88824" /> + <g + style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#656a73;fill-opacity:1;stroke:none;font-family:Sans" + id="text4228-5-9" + transform="matrix(3.6179417,0,0,3.6179417,100.15552,878.49082)" + inkscape:export-filename="/home/johan/birdfont/icons/convert_point.png" + inkscape:export-xdpi="319" + inkscape:export-ydpi="319"> + <path + d="m 133.4963,84.154549 0,1.040039 c -0.33204,-0.309239 -0.68685,-0.540359 -1.06445,-0.69336 -0.37436,-0.152988 -0.77312,-0.229485 -1.19629,-0.229492 -0.83334,7e-6 -1.47136,0.25554 -1.91406,0.766602 -0.44272,0.507818 -0.66407,1.243494 -0.66407,2.207031 0,0.960289 0.22135,1.695965 0.66407,2.207031 0.4427,0.507814 1.08072,0.76172 1.91406,0.761719 0.42317,10e-7 0.82193,-0.0765 1.19629,-0.229492 0.3776,-0.152994 0.73241,-0.384114 1.06445,-0.69336 l 0,1.030274 c -0.34506,0.234375 -0.71127,0.410156 -1.09863,0.527344 -0.38412,0.117187 -0.79102,0.175781 -1.22071,0.175781 -1.10351,0 -1.97265,-0.336914 -2.60742,-1.010742 -0.63476,-0.677082 -0.95215,-1.599933 -0.95215,-2.768555 0,-1.17187 0.31739,-2.094721 0.95215,-2.768555 0.63477,-0.677076 1.50391,-1.015617 2.60742,-1.015625 0.4362,8e-6 0.84635,0.0586 1.23047,0.175782 0.38737,0.113939 0.75032,0.286465 1.08887,0.517578" + id="path3780-9-3" + inkscape:connector-curvature="0" + style="fill:#656a73;fill-opacity:1" /> + </g> + <g + id="g4983-3-2" + inkscape:export-filename="/home/johan/birdfont/icons/zoom_background_image.png" + inkscape:export-xdpi="319.88824" + inkscape:export-ydpi="319.88824" + style="fill:none;stroke:#656a73;stroke-opacity:1" + transform="matrix(3.6179417,0,0,3.6179417,44.072898,1000.3157)"> + <rect + y="261.59686" + x="14.906057" + height="12.488856" + width="12.891725" + id="rect4979-3-5" + style="fill:none;stroke:#656a73;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + <rect + style="fill:none;stroke:#656a73;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + id="rect4981-2-3" + width="6.952508" + height="6.7352409" + x="17.875666" + y="264.47366" /> + </g> + <path + style="fill:#656a73;fill-opacity:1;stroke:#656a73;stroke-width:2.74511909px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 292.35436,1949.0068 -15.0681,15.0682 15.34458,12.3032 z" + id="path4987-4-3" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" + inkscape:export-filename="/home/johan/birdfont/icons/prev.png" + inkscape:export-xdpi="319.88824" + inkscape:export-ydpi="319.88824" /> + <path + inkscape:export-ydpi="319.88824" + inkscape:export-xdpi="319.88824" + inkscape:export-filename="/home/johan/birdfont/icons/next.png" + sodipodi:nodetypes="cccc" + inkscape:connector-curvature="0" + id="path4995-4-2" + d="m 424.59999,1949.4285 15.06812,15.0681 -15.34465,12.3033 z" + style="fill:#656a73;fill-opacity:1;stroke:#656a73;stroke-width:2.74511957px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <g + id="g4279-6-3" + transform="matrix(3.3319587,0,0,3.3319587,11.360588,888.09892)" + inkscape:export-filename="/home/johan/birdfont/icons/tie_point.png" + inkscape:export-xdpi="319.88824" + inkscape:export-ydpi="319.88824" + style="fill:none;stroke:#656a73;stroke-opacity:1"> + <path + transform="translate(6.9783644,21.229834)" + d="m 16.20305,118.45668 c 0,1.88394 -1.527232,3.41117 -3.411168,3.41117 -1.883937,0 -3.4111688,-1.52723 -3.4111688,-3.41117 0,-1.88394 1.5272318,-3.41117 3.4111688,-3.41117 1.883936,0 3.411168,1.52723 3.411168,3.41117 z" + sodipodi:ry="3.4111683" + sodipodi:rx="3.4111683" + sodipodi:cy="118.45668" + sodipodi:cx="12.791882" + id="path4235-8-6" + style="fill:none;stroke:#656a73;stroke-width:0.80000001;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + sodipodi:type="arc" /> + <path + transform="translate(7.0138974,20.021714)" + d="m 21.035538,113.62419 c 0,0.94197 -0.763616,1.70559 -1.705584,1.70559 -0.941968,0 -1.705584,-0.76362 -1.705584,-1.70559 0,-0.94197 0.763616,-1.70558 1.705584,-1.70558 0.941968,0 1.705584,0.76361 1.705584,1.70558 z" + sodipodi:ry="1.7055842" + sodipodi:rx="1.7055842" + sodipodi:cy="113.62419" + sodipodi:cx="19.329954" + id="path4237-7-3" + style="fill:none;stroke:#656a73;stroke-width:0.80000001;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + sodipodi:type="arc" /> + <path + sodipodi:type="arc" + style="fill:none;stroke:#656a73;stroke-width:0.80000001;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + id="path4239-5-3" + sodipodi:cx="12.791882" + sodipodi:cy="118.45668" + sodipodi:rx="3.4111683" + sodipodi:ry="3.4111683" + d="m 16.20305,118.45668 c 0,1.88394 -1.527232,3.41117 -3.411168,3.41117 -1.883937,0 -3.4111688,-1.52723 -3.4111688,-3.41117 0,-1.88394 1.5272318,-3.41117 3.4111688,-3.41117 1.883936,0 3.411168,1.52723 3.411168,3.41117 z" + transform="translate(19.69918,9.113074)" /> + <path + inkscape:connector-curvature="0" + id="path4241-2-6" + d="m 22.435222,137.6256 2.54061,-2.54061" + style="fill:none;stroke:#656a73;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4247-9-9" + d="m 27.729639,132.40224 2.274113,-2.27411" + style="fill:none;stroke:#656a73;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + </g> + <g + inkscape:export-ydpi="319.88824" + inkscape:export-xdpi="319.88824" + inkscape:export-filename="/home/johan/birdfont/icons/symmetric.png" + transform="matrix(2.4016167,2.3095856,-2.3095856,2.4016167,520.73827,949.09012)" + id="g4286-2-6" + style="fill:none;stroke:#656a73;stroke-opacity:1"> + <path + sodipodi:type="arc" + style="fill:none;stroke:#656a73;stroke-width:0.80000001;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + id="path4288-3-9" + sodipodi:cx="12.791882" + sodipodi:cy="118.45668" + sodipodi:rx="3.4111683" + sodipodi:ry="3.4111683" + d="m 16.20305,118.45668 c 0,1.88394 -1.527232,3.41117 -3.411168,3.41117 -1.883937,0 -3.4111688,-1.52723 -3.4111688,-3.41117 0,-1.88394 1.5272318,-3.41117 3.4111688,-3.41117 1.883936,0 3.411168,1.52723 3.411168,3.41117 z" + transform="translate(6.9783644,21.229834)" /> + <path + sodipodi:type="arc" + style="fill:none;stroke:#656a73;stroke-width:0.80000001;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + id="path4290-1-3" + sodipodi:cx="19.329954" + sodipodi:cy="113.62419" + sodipodi:rx="1.7055842" + sodipodi:ry="1.7055842" + d="m 21.035538,113.62419 c 0,0.94197 -0.763616,1.70559 -1.705584,1.70559 -0.941968,0 -1.705584,-0.76362 -1.705584,-1.70559 0,-0.94197 0.763616,-1.70558 1.705584,-1.70558 0.941968,0 1.705584,0.76361 1.705584,1.70558 z" + transform="translate(7.0138974,20.021714)" /> + <path + transform="translate(19.69918,9.113074)" + d="m 16.20305,118.45668 c 0,1.88394 -1.527232,3.41117 -3.411168,3.41117 -1.883937,0 -3.4111688,-1.52723 -3.4111688,-3.41117 0,-1.88394 1.5272318,-3.41117 3.4111688,-3.41117 1.883936,0 3.411168,1.52723 3.411168,3.41117 z" + sodipodi:ry="3.4111683" + sodipodi:rx="3.4111683" + sodipodi:cy="118.45668" + sodipodi:cx="12.791882" + id="path4292-9-1" + style="fill:none;stroke:#656a73;stroke-width:0.80000001;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + sodipodi:type="arc" /> + <path + style="fill:none;stroke:#656a73;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 22.435222,137.6256 2.54061,-2.54061" + id="path4294-6-5" + inkscape:connector-curvature="0" /> + <path + style="fill:none;stroke:#656a73;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 27.729639,132.40224 2.274113,-2.27411" + id="path4296-2-4" + inkscape:connector-curvature="0" /> + </g> + <g + id="g4307-92-5" + transform="matrix(3.6179417,0,0,3.6179417,78.253542,814.17582)" + style="fill:none;stroke:#656a73;stroke-opacity:1" + inkscape:export-filename="/home/johan/birdfont/icons/create_line.png" + inkscape:export-xdpi="319" + inkscape:export-ydpi="319"> + <path + inkscape:export-ydpi="321.42578" + inkscape:export-xdpi="321.42578" + inkscape:export-filename="/home/johan/birdfont/icons/create_line.png" + transform="matrix(0.66380748,0.63837005,-0.63837005,0.66380748,153.60183,58.200946)" + d="m 16.20305,118.45668 c 0,1.88394 -1.527232,3.41117 -3.411168,3.41117 -1.883937,0 -3.4111688,-1.52723 -3.4111688,-3.41117 0,-1.88394 1.5272318,-3.41117 3.4111688,-3.41117 1.883936,0 3.411168,1.52723 3.411168,3.41117 z" + sodipodi:ry="3.4111683" + sodipodi:rx="3.4111683" + sodipodi:cy="118.45668" + sodipodi:cx="12.791882" + id="path4300-7-5" + style="fill:none;stroke:#656a73;stroke-width:0.80000001;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + sodipodi:type="arc" /> + <path + inkscape:export-ydpi="321.42578" + inkscape:export-xdpi="321.42578" + inkscape:export-filename="/home/johan/birdfont/icons/create_line.png" + transform="matrix(0.66380748,0.63837005,-0.63837005,0.66380748,153.94438,48.501384)" + d="m 21.035538,113.62419 c 0,0.94197 -0.763616,1.70559 -1.705584,1.70559 -0.941968,0 -1.705584,-0.76362 -1.705584,-1.70559 0,-0.94197 0.763616,-1.70558 1.705584,-1.70558 0.941968,0 1.705584,0.76361 1.705584,1.70558 z" + sodipodi:ry="1.7055842" + sodipodi:rx="1.7055842" + sodipodi:cy="113.62419" + sodipodi:cx="19.329954" + id="path4302-36-4" + style="fill:none;stroke:#656a73;stroke-width:0.80000001;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + sodipodi:type="arc" /> + <path + inkscape:export-ydpi="321.42578" + inkscape:export-xdpi="321.42578" + inkscape:export-filename="/home/johan/birdfont/icons/create_line.png" + sodipodi:type="arc" + style="fill:none;stroke:#656a73;stroke-width:0.80000001;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + id="path4304-4-9" + sodipodi:cx="12.791882" + sodipodi:cy="118.45668" + sodipodi:rx="3.4111683" + sodipodi:ry="3.4111683" + d="m 16.20305,118.45668 c 0,1.88394 -1.527232,3.41117 -3.411168,3.41117 -1.883937,0 -3.4111688,-1.52723 -3.4111688,-3.41117 0,-1.88394 1.5272318,-3.41117 3.4111688,-3.41117 1.883936,0 3.411168,1.52723 3.411168,3.41117 z" + transform="matrix(0.66380748,0.63837005,-0.63837005,0.66380748,169.07746,57.876328)" /> + <path + inkscape:export-ydpi="321.42578" + inkscape:export-xdpi="321.42578" + inkscape:export-filename="/home/johan/birdfont/icons/create_line.png" + inkscape:connector-curvature="0" + id="path4315-24-9" + d="m 88.140705,142.3417 4.874372,-4.87437" + style="fill:none;stroke:#656a73;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:export-ydpi="321.42578" + inkscape:export-xdpi="321.42578" + inkscape:export-filename="/home/johan/birdfont/icons/create_line.png" + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" + id="path4323-4-4" + d="m 95.276383,137.61808 4.597997,4.49749" + style="fill:none;stroke:#656a73;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + </g> + <path + transform="matrix(3.6179417,0,0,3.6179417,36.096348,1372.4525)" + sodipodi:type="arc" + style="fill:none;stroke:#656a73;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + id="path4997-7-9" + sodipodi:cx="19.169083" + sodipodi:cy="19.942028" + sodipodi:rx="7.2657003" + sodipodi:ry="7.2657003" + d="m 26.434783,19.942028 a 7.2657003,7.2657003 0 1 1 -14.531401,0 7.2657003,7.2657003 0 1 1 14.531401,0 z" + inkscape:export-filename="/home/johan/birdfont/icons/circle.png" + inkscape:export-xdpi="319.88824" + inkscape:export-ydpi="319.88824" /> + <rect + style="fill:none;stroke:#656a73;stroke-width:3.61794162;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + id="rect4999-4-3" + width="68.79332" + height="33.55772" + x="242.80673" + y="1425.2063" + inkscape:export-filename="/home/johan/birdfont/icons/rectangle.png" + inkscape:export-xdpi="319.88824" + inkscape:export-ydpi="319.88824" /> + <g + transform="matrix(3.6179417,0,0,3.6179417,-957.56438,209.20856)" + id="g4928-1" + inkscape:export-filename="/home/johan/birdfont/icons/move.png" + inkscape:export-xdpi="319" + inkscape:export-ydpi="319" + style="fill:none;stroke:#656a73"> + <path + style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#656a73;fill-opacity:1;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + d="M 101.59375 1057.0625 L 100 1059.1875 L 89.9375 1073.7812 L 88.03125 1076.625 L 91.40625 1076.625 L 99.78125 1076.625 L 99.78125 1086.6875 L 99.78125 1088.7188 L 87.34375 1088.7188 L 87.34375 1080.6875 L 87.34375 1077.2812 L 84.53125 1079.2188 L 69.9375 1089.1562 L 67.78125 1090.625 L 69.9375 1092.0938 L 84.53125 1102.1562 L 87.34375 1104.1875 L 87.34375 1100.6875 L 87.34375 1092.3125 L 99.78125 1092.3125 L 99.78125 1095.1562 L 99.78125 1105.0938 L 91.75 1105.0938 L 88.375 1105.0938 L 90.28125 1107.9375 L 100.21875 1122.5 L 101.6875 1124.6562 L 103.15625 1122.5 L 113.21875 1107.9375 L 115.28125 1105.0938 L 111.75 1105.0938 L 103.40625 1105.0938 L 103.40625 1095.1562 L 103.40625 1092.3125 L 105.875 1092.3125 L 105.875 1088.7188 L 103.40625 1088.7188 L 103.40625 1086.6875 L 103.40625 1076.625 L 111.4375 1076.625 L 114.9375 1076.625 L 112.90625 1073.7812 L 103.0625 1059.1875 L 101.59375 1057.0625 z M 101.46875 1063.5 L 108.03125 1073 L 94.8125 1073 L 101.46875 1063.5 z M 115.84375 1076.9375 L 115.84375 1080.3438 L 115.84375 1100.3438 L 115.84375 1103.8438 L 118.65625 1101.9375 L 133.25 1092 L 135.40625 1090.5312 L 133.25 1088.9375 L 118.65625 1078.875 L 115.84375 1076.9375 z M 119.4375 1083.7188 L 128.9375 1090.4062 L 119.4375 1096.9688 L 119.4375 1083.7188 z M 83.71875 1084.0625 L 83.71875 1097.3125 L 74.125 1090.625 L 83.71875 1084.0625 z M 95.15625 1108.7188 L 108.375 1108.7188 L 101.6875 1118.3438 L 95.15625 1108.7188 z " + transform="matrix(0.27640025,0,0,0.27640025,264.67104,-57.825299)" + id="path3147-8-5-9-2" /> + <path + style="fill:none;stroke:#656a73;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="m 297.01374,243.6031 -5.42726,0" + id="path3251-7-6-7-7" + inkscape:connector-curvature="0" /> + </g> + <path + style="opacity:0.71193417;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.89435339;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="m 456.51499,1451.2713 -10.61321,-3.1478 c 0,0 11.38452,-13.436 9.84183,-23.2063 -1.54269,-9.7703 -16.58379,-16.5838 -16.58379,-16.5838 l -11.82718,6.1707 c 0,0 15.0411,4.4995 16.96947,12.9842 1.92838,8.4847 -4.31766,18.0253 -4.31766,18.0253 l -8.66652,-5.6839 -0.12845,19.412 z" + id="path4415-7-8-7" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccsccscccc" + inkscape:export-filename="/home/johan/birdfont/icons/reverse_path.png" + inkscape:export-xdpi="319.88824" + inkscape:export-ydpi="319.88824" /> + <path + sodipodi:nodetypes="ccsccscccc" + inkscape:connector-curvature="0" + id="path4435-6-1" + d="m 391.69869,1416.3039 10.24949,3.1478 c 0,0 -11.38443,11.0725 -9.47819,23.2063 1.53512,9.7714 16.58379,16.5837 16.58379,16.5837 l 11.82718,-6.1706 c 0,0 -15.0411,-4.4996 -16.96947,-12.9843 -1.9283,-8.4847 5.40848,-17.4798 5.40848,-17.4798 l 7.57578,5.1385 0.12837,-19.4121 z" + style="opacity:0.71193417;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:2.89435339;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + inkscape:export-filename="/home/johan/birdfont/icons/reverse_path.png" + inkscape:export-xdpi="319.88824" + inkscape:export-ydpi="319.88824" /> + <g + id="g4991-6" + inkscape:export-filename="/home/johan/birdfont/icons/high_contrast_background.png" + inkscape:export-xdpi="319" + inkscape:export-ydpi="319" + transform="matrix(3.6179417,0,0,3.6179417,-432.38503,568.60314)"> + <rect + inkscape:export-ydpi="319" + inkscape:export-xdpi="319" + inkscape:export-filename="/home/johan/birdfont/icons/high_contrast_background.png" + y="414.07047" + x="286.95129" + height="14.986238" + width="14.986238" + id="rect3433-0-3" + style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.34000003;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <path + inkscape:export-ydpi="319" + inkscape:export-xdpi="319" + inkscape:export-filename="/home/johan/birdfont/icons/high_contrast_background.png" + sodipodi:nodetypes="cccc" + inkscape:connector-curvature="0" + id="rect3435-1-6" + d="m 288.03475,415.02501 12.38553,-0.0167 -12.43736,13.48567 z" + style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.34000003;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + </g> + <path + style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#656a73;fill-opacity:1;stroke:none;stroke-width:2.89435339;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + d="m 264.0625,1552.9375 -0.96875,1.6563 -14.03125,24.5624 -1.125,1.9688 2.25,0.1875 9.34375,0.8437 0.4375,0.063 0.40625,-0.2188 19.125,-10.5 1.65625,-0.9375 -1.3125,-1.3437 -14.4375,-14.9063 -1.34375,-1.375 z m 0.59375,4.7813 11.78125,12.125 -17.0625,9.4062 -6.6875,-0.625 11.96875,-20.9062 z" + id="path4996-1" + inkscape:connector-curvature="0" /> + <path + style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#656a73;fill-opacity:1;stroke:none;stroke-width:2.89435339;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + d="m 306.59375,1512.5312 -2.4375,1.5 c 0,0 -5.75546,3.495 -12.21875,7.875 -6.46329,4.3801 -13.55002,9.4967 -16.625,13.2813 -5.68002,6.9908 -9.75,15.5 -9.75,15.5 l -0.4375,0.9375 0.71875,0.7188 15.3125,15.5624 0.71875,0.75 0.96875,-0.4687 c 0,0 7.90647,-4.0447 10.71875,-5.25 1.83215,-0.7852 3.92794,-2.4098 5.71875,-3.875 1.79081,-1.4652 3.21875,-2.7813 3.21875,-2.7813 l 0.40625,-0.375 0.0313,-0.5624 3.40625,-39.9688 0.25,-2.8438 z m -3.375,5.5313 -3.09375,36.4687 c -0.30283,0.2766 -1.1734,1.068 -2.65625,2.2813 -1.71688,1.4047 -3.88717,2.9784 -5.03125,3.4687 -2.86218,1.2267 -8.8023,4.2476 -9.96875,4.8438 l -13.8125,-14.0625 c 0.6192,-1.2619 3.9716,-8.0276 8.875,-14.0625 2.45229,-3.0182 9.63301,-8.3515 16.03125,-12.6875 5.11159,-3.4641 7.98249,-5.2133 9.65625,-6.25 z" + id="path4998-9" + inkscape:connector-curvature="0" /> + <path + style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#656a73;fill-opacity:1;stroke:none;stroke-width:3.55554199;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + d="M 426.65625 1519.0938 C 426.23092 1519.1029 425.84523 1519.1143 425.46875 1519.1562 A 1.4473214 1.4473214 0 0 0 424.375 1519.8438 C 424.375 1519.8438 420.14662 1526.7642 415.84375 1533.7812 C 413.69233 1537.2896 411.53064 1540.816 409.875 1543.5312 C 409.04718 1544.8888 408.32118 1546.0632 407.8125 1546.9062 C 407.55816 1547.3276 407.37073 1547.6499 407.21875 1547.9062 C 407.06677 1548.1626 406.98058 1548.2577 406.875 1548.4688 A 1.4473214 1.4473214 0 0 0 406.9375 1549.875 L 405.84375 1567.6562 L 405.8125 1567.6562 L 405.71875 1569.125 L 405.09375 1579.4062 L 405.09375 1579.4375 A 1.4473214 1.4473214 0 0 0 405.09375 1579.5938 L 405 1580.4688 L 405.84375 1580.7812 L 406.53125 1581.25 A 1.4473214 1.4473214 0 0 0 407.0625 1581.4375 L 407.09375 1581.5312 C 407.09375 1581.5312 407.23002 1581.5412 407.40625 1581.5312 C 407.49435 1581.5312 407.57181 1581.5713 407.75 1581.5312 C 407.87296 1581.5032 408.09332 1581.3835 408.34375 1581.1875 L 418.09375 1577.1875 L 419.375 1576.6562 L 419.375 1576.625 L 432.3125 1571.3125 A 1.4473214 1.4473214 0 0 0 432.40625 1571.2812 A 1.4473214 1.4473214 0 0 0 432.4375 1571.25 A 1.4473214 1.4473214 0 0 0 432.53125 1571.2188 A 1.4473214 1.4473214 0 0 0 432.90625 1570.9062 A 1.4473214 1.4473214 0 0 0 432.96875 1570.8438 A 1.4473214 1.4473214 0 0 0 433 1570.8125 A 1.4473214 1.4473214 0 0 0 433.0625 1570.75 L 433.0625 1570.7188 L 449.34375 1546.4375 C 449.48855 1546.3725 449.68735 1546.2812 449.6875 1546.2812 C 449.68772 1546.2811 449.9998 1545.9689 450 1545.9688 C 450.00019 1545.9685 450.15608 1545.7191 450.15625 1545.7188 C 450.15642 1545.7185 450.20125 1545.6156 450.21875 1545.5625 C 450.28895 1545.3501 450.3083 1545.2299 450.3125 1545.1562 C 450.3294 1544.8611 450.29325 1544.8619 450.28125 1544.7812 C 450.26935 1544.7003 450.23805 1544.6011 450.21875 1544.5 C 450.06444 1543.6911 449.6177 1541.5475 448.1875 1535.625 C 446.53416 1528.7782 442.1857 1524.4545 437.65625 1522 C 434.25916 1520.1591 430.79648 1519.2913 428 1519.125 C 427.53392 1519.0975 427.08158 1519.0846 426.65625 1519.0938 z M 426.4375 1522.0938 C 428.7511 1521.9797 432.59911 1522.5359 436.28125 1524.5312 C 440.2483 1526.6809 443.89169 1530.2992 445.34375 1536.3125 C 446.65476 1541.7415 447.05035 1543.5237 447.21875 1544.3438 L 432.71875 1566.0938 C 432.71012 1566.055 432.69643 1566.0079 432.6875 1565.9688 C 432.68511 1565.9589 432.6899 1565.9473 432.6875 1565.9375 C 432.09987 1563.3741 430.8625 1560.0049 428.03125 1556.9375 C 428.00147 1556.9052 427.96763 1556.8759 427.9375 1556.8438 C 427.82076 1556.7126 427.68213 1556.5967 427.5625 1556.4688 C 426.68362 1555.5289 425.73511 1554.6757 424.71875 1553.9062 C 420.60997 1550.7958 415.57783 1549.0191 410.53125 1548.0625 C 411.01646 1547.2589 411.60491 1546.2429 412.34375 1545.0312 C 413.99696 1542.3202 416.16172 1538.8199 418.3125 1535.3125 C 422.39457 1528.6556 426.03656 1522.7458 426.4375 1522.0938 z M 409.75 1550.9062 C 410.95198 1551.1293 412.16776 1551.3959 413.34375 1551.7188 C 413.37565 1551.7275 413.40563 1551.7412 413.4375 1551.75 C 416.2448 1552.617 419.79788 1554.0953 423.34375 1556.6562 C 423.80059 1556.9862 424.22522 1557.3079 424.625 1557.6562 C 424.82489 1557.8304 425.00116 1558.0097 425.1875 1558.1875 C 425.3296 1558.3333 425.48773 1558.4745 425.625 1558.625 C 428.03697 1561.2704 429.69342 1564.6501 430.25 1569.0312 L 418.28125 1573.9688 C 417.02016 1571.5599 415.09818 1570.0201 413.1875 1569.1562 C 411.57893 1568.429 410.00081 1568.1097 408.71875 1567.9375 L 409.75 1550.9062 z M 408.53125 1570.875 C 409.62719 1571.0346 410.82841 1571.2829 412 1571.8125 C 413.36842 1572.4311 414.52603 1573.5384 415.4375 1575.125 L 408.09375 1578.1562 L 408.53125 1570.875 z " + id="path5000-5" /> + <g + transform="matrix(3.6179417,0,0,3.6179417,54.797158,1629.525)" + id="g4647-5-1" + inkscape:export-filename="/home/johan/birdfont/icons/help_lines.png" + inkscape:export-xdpi="319.88824" + inkscape:export-ydpi="319.88824" + style="fill:#656a73;fill-opacity:1;stroke:#656a73"> + <g + transform="translate(-2.2495927,-0.18746606)" + id="g4643-4-3" + style="fill:#656a73;fill-opacity:1;stroke:#656a73"> + <path + style="fill:#656a73;fill-opacity:1;stroke:#656a73;stroke-width:0.36491275px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 30.241071,21.921441 0,-3.728277 -2.086466,1.847037 z" + id="path4637-50-6" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> + <path + sodipodi:nodetypes="cc" + style="fill:#656a73;fill-opacity:1;stroke:#656a73;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 12.279027,20.104169 16.309547,0" + id="path4641-62-5" + inkscape:connector-curvature="0" /> + </g> + </g> + <g + id="g4818-5-8" + transform="matrix(3.6179417,0,0,3.6179417,181.81101,1624.4651)" + inkscape:export-filename="/home/johan/birdfont/icons/show_xheight_helplines.png" + inkscape:export-xdpi="319.88824" + inkscape:export-ydpi="319.88824" + style="fill:#656a73;fill-opacity:1;stroke:#656a73"> + <g + id="g4647-0-4-3" + transform="translate(1.0197175,6.8893775)" + style="fill:#656a73;fill-opacity:1;stroke:#656a73"> + <g + id="g4643-8-6-1" + transform="translate(-2.2495927,-0.18746606)" + style="fill:#656a73;fill-opacity:1;stroke:#656a73"> + <path + sodipodi:nodetypes="cccc" + inkscape:connector-curvature="0" + id="path4637-5-6-8" + d="m 30.241071,21.921441 0,-3.728277 -2.086466,1.847037 z" + style="fill:#656a73;fill-opacity:1;stroke:#656a73;stroke-width:0.36491275px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4641-9-7-4" + d="m 12.279027,20.104169 16.309547,0" + style="fill:#656a73;fill-opacity:1;stroke:#656a73;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + sodipodi:nodetypes="cc" /> + </g> + </g> + <g + id="g4647-02-0-5" + transform="translate(0.83225141,-7.5455089)" + style="fill:#656a73;fill-opacity:1;stroke:#656a73"> + <g + id="g4643-9-8-9" + transform="translate(-2.2495927,-0.18746606)" + style="fill:#656a73;fill-opacity:1;stroke:#656a73"> + <path + sodipodi:nodetypes="cccc" + inkscape:connector-curvature="0" + id="path4637-0-0-9" + d="m 30.241071,21.921441 0,-3.728277 -2.086466,1.847037 z" + style="fill:#656a73;fill-opacity:1;stroke:#656a73;stroke-width:0.36491275px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4641-5-2-6" + d="m 12.279027,20.104169 16.309547,0" + style="fill:#656a73;fill-opacity:1;stroke:#656a73;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + sodipodi:nodetypes="cc" /> + </g> + </g> + </g> + <g + id="g4828-8-4" + transform="matrix(3.6179417,0,0,3.6179417,186.18366,1623.0076)" + inkscape:export-filename="/home/johan/birdfont/icons/background_help_lines.png" + inkscape:export-xdpi="319.88824" + inkscape:export-ydpi="319.88824" + style="fill:#656a73;fill-opacity:1;stroke:#656a73"> + <g + id="g4647-9-7-3" + transform="translate(37.200666,-7.920441)" + style="fill:#656a73;fill-opacity:1;stroke:#656a73"> + <g + id="g4643-6-0-7" + transform="translate(-2.2495927,-0.18746606)" + style="fill:#656a73;fill-opacity:1;stroke:#656a73"> + <path + sodipodi:nodetypes="cccc" + inkscape:connector-curvature="0" + id="path4637-06-3-7" + d="m 30.241071,21.921441 0,-3.728277 -2.086466,1.847037 z" + style="fill:#656a73;fill-opacity:1;stroke:#656a73;stroke-width:0.36491275px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4641-2-3-3" + d="m 12.279027,20.104169 16.309547,0" + style="fill:#656a73;fill-opacity:1;stroke:#656a73;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + sodipodi:nodetypes="cc" /> + </g> + </g> + <g + id="g4647-7-3-2" + transform="translate(37.013201,7.8267081)" + style="fill:#656a73;fill-opacity:1;stroke:#656a73"> + <g + id="g4643-1-2-6" + transform="translate(-2.2495927,-0.18746606)" + style="fill:#656a73;fill-opacity:1;stroke:#656a73"> + <path + sodipodi:nodetypes="cccc" + inkscape:connector-curvature="0" + id="path4637-8-4-6" + d="m 30.241071,21.921441 0,-3.728277 -2.086466,1.847037 z" + style="fill:#656a73;fill-opacity:1;stroke:#656a73;stroke-width:0.36491275px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4641-1-2-9" + d="m 12.279027,20.104169 16.309547,0" + style="fill:#656a73;fill-opacity:1;stroke:#656a73;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + sodipodi:nodetypes="cc" /> + </g> + </g> + <g + id="g4647-04-4-0" + transform="translate(37.0132,-0.02802146)" + style="fill:#656a73;fill-opacity:1;stroke:#656a73"> + <g + id="g4643-7-0-4" + transform="translate(-2.2495927,-0.18746606)" + style="fill:#656a73;fill-opacity:1;stroke:#656a73"> + <path + sodipodi:nodetypes="cccc" + inkscape:connector-curvature="0" + id="path4637-6-6-3" + d="m 30.241071,21.921441 0,-3.728277 -2.086466,1.847037 z" + style="fill:#656a73;fill-opacity:1;stroke:#656a73;stroke-width:0.36491275px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4641-6-4-8" + d="m 12.279027,20.104169 16.309547,0" + style="fill:#656a73;fill-opacity:1;stroke:#656a73;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + sodipodi:nodetypes="cc" /> + </g> + </g> + </g> + <g + id="g4842-7-5" + transform="matrix(3.6179417,0,0,3.6179417,202.21668,1618.6349)" + inkscape:export-filename="/home/johan/birdfont/icons/new_grid.png" + inkscape:export-xdpi="319.88824" + inkscape:export-ydpi="319.88824" + style="fill:#656a73;fill-opacity:1;stroke:#656a73"> + <g + id="g4647-8-8-4" + transform="matrix(0,1,-1,0,103.4797,2.0960817)" + style="fill:#656a73;fill-opacity:1;stroke:#656a73"> + <g + id="g4643-3-7-6" + transform="translate(-2.2495927,-0.18746606)" + style="fill:#656a73;fill-opacity:1;stroke:#656a73"> + <path + sodipodi:nodetypes="cccc" + inkscape:connector-curvature="0" + id="path4637-88-4-4" + d="m 30.241071,21.921441 0,-3.728277 -2.086466,1.847037 z" + style="fill:#656a73;fill-opacity:1;stroke:#656a73;stroke-width:0.36491275px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4641-61-3-5" + d="m 12.279027,20.104169 16.309547,0" + style="fill:#656a73;fill-opacity:1;stroke:#656a73;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + sodipodi:nodetypes="cc" /> + </g> + </g> + <g + id="g4647-1-2-7" + transform="matrix(0,1,-1,0,111.91567,1.9086157)" + style="fill:#656a73;fill-opacity:1;stroke:#656a73"> + <g + id="g4643-93-4-9" + transform="translate(-2.2495927,-0.18746606)" + style="fill:#656a73;fill-opacity:1;stroke:#656a73"> + <path + sodipodi:nodetypes="cccc" + inkscape:connector-curvature="0" + id="path4637-9-1-3" + d="m 30.241071,21.921441 0,-3.728277 -2.086466,1.847037 z" + style="fill:#656a73;fill-opacity:1;stroke:#656a73;stroke-width:0.36491275px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4641-52-4-4" + d="m 12.279027,20.104169 16.309547,0" + style="fill:#656a73;fill-opacity:1;stroke:#656a73;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + sodipodi:nodetypes="cc" /> + </g> + </g> + <g + id="g4647-19-0-8" + transform="matrix(0,1,-1,0,119.78925,2.0960821)" + style="fill:#656a73;fill-opacity:1;stroke:#656a73"> + <g + id="g4643-33-5-8" + transform="translate(-2.2495927,-0.18746606)" + style="fill:#656a73;fill-opacity:1;stroke:#656a73"> + <path + sodipodi:nodetypes="cccc" + inkscape:connector-curvature="0" + id="path4637-4-2-5" + d="m 30.241071,21.921441 0,-3.728277 -2.086466,1.847037 z" + style="fill:#656a73;fill-opacity:1;stroke:#656a73;stroke-width:0.36491275px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4641-21-6-8" + d="m 12.279027,20.104169 16.309547,0" + style="fill:#656a73;fill-opacity:1;stroke:#656a73;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + sodipodi:nodetypes="cc" /> + </g> + </g> + <g + id="g4647-6-5-4" + transform="translate(75.443742,4.9163281)" + style="fill:#656a73;fill-opacity:1;stroke:#656a73"> + <g + id="g4643-85-2-2" + transform="translate(-2.2495927,-0.18746606)" + style="fill:#656a73;fill-opacity:1;stroke:#656a73"> + <path + sodipodi:nodetypes="cccc" + inkscape:connector-curvature="0" + id="path4637-42-6-7" + d="m 30.241071,21.921441 0,-3.728277 -2.086466,1.847037 z" + style="fill:#656a73;fill-opacity:1;stroke:#656a73;stroke-width:0.36491275px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + inkscape:connector-curvature="0" + id="path4641-3-5-4" + d="m 8.1547738,20.104169 20.4338002,0" + style="fill:#656a73;fill-opacity:1;stroke:#656a73;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + sodipodi:nodetypes="cc" /> + </g> + </g> + <g + transform="translate(75.443742,-2.8700197)" + id="g4810-6-8" + style="fill:#656a73;fill-opacity:1;stroke:#656a73"> + <g + transform="translate(-2.2495927,-0.18746606)" + id="g4812-5-3" + style="fill:#656a73;fill-opacity:1;stroke:#656a73"> + <path + style="fill:#656a73;fill-opacity:1;stroke:#656a73;stroke-width:0.36491275px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 30.241071,21.921441 0,-3.728277 -2.086466,1.847037 z" + id="path4814-2-9" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccc" /> + <path + sodipodi:nodetypes="cc" + style="fill:#656a73;fill-opacity:1;stroke:#656a73;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 8.1547738,20.104169 20.4338002,0" + id="path4816-9-7" + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + <path + style="fill:none;stroke:#656a73;stroke-width:3.61794162px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 121.09233,1813.1706 0,58.7466" + id="path4866-88-1" + inkscape:connector-curvature="0" + inkscape:export-filename="/home/johan/birdfont/icons/zoom_in.png" + inkscape:export-xdpi="319.88824" + inkscape:export-ydpi="319.88824" /> + <path + inkscape:connector-curvature="0" + id="path4868-2-2" + d="m 150.4656,1842.5439 -58.746551,0" + style="fill:none;stroke:#656a73;stroke-width:3.61794162px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + inkscape:export-filename="/home/johan/birdfont/icons/zoom_in.png" + inkscape:export-xdpi="319.88824" + inkscape:export-ydpi="319.88824" /> + <path + inkscape:connector-curvature="0" + id="path4868-4-2-9" + d="m 284.96432,1844.0899 -58.74655,0" + style="fill:none;stroke:#656a73;stroke-width:3.61794162px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + inkscape:export-filename="/home/johan/birdfont/icons/zoom_out.png" + inkscape:export-xdpi="319.88824" + inkscape:export-ydpi="319.88824" /> + <g + style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#858585;fill-opacity:1;stroke:none;font-family:Sans" + id="text4900-25-9" + transform="matrix(3.6179417,0,0,3.6179417,46.370827,973.22812)" + inkscape:export-filename="/home/johan/birdfont/icons/zoom_1_1.png" + inkscape:export-xdpi="319" + inkscape:export-ydpi="319"> + <path + d="m 87.570328,243.05992 1.611328,0 0,-5.56152 -1.75293,0.35156 0,-0.89844 1.743164,-0.35156 0.986328,0 0,6.45996 1.611329,0 0,0.83008 -4.199219,0 0,-0.83008" + id="path3756-8-8" + inkscape:connector-curvature="0" /> + <path + d="m 93.869156,242.64977 1.030273,0 0,1.24023 -1.030273,0 0,-1.24023 m 0,-3.93067 1.030273,0 0,1.24024 -1.030273,0 0,-1.24024" + id="path3758-4-1" + inkscape:connector-curvature="0" /> + <path + d="m 97.316422,243.05992 1.611328,0 0,-5.56152 -1.75293,0.35156 0,-0.89844 1.743164,-0.35156 0.986328,0 0,6.45996 1.611328,0 0,0.83008 -4.199218,0 0,-0.83008" + id="path3760-3-1" + inkscape:connector-curvature="0" /> + </g> + <g + id="g4953-3-4" + inkscape:export-filename="/home/johan/birdfont/icons/zoom_boundaries.png" + inkscape:export-xdpi="319.88824" + inkscape:export-ydpi="319.88824" + style="fill:none;stroke:#656a73" + transform="matrix(3.6179417,0,0,3.6179417,46.370827,973.22812)"> + <g + id="g4949-3-6" + style="fill:none;stroke:#656a73"> + <path + inkscape:connector-curvature="0" + id="path4868-4-9-2-2" + d="m 142.2733,236.64784 -16.23756,0" + style="fill:none;stroke:#656a73;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + inkscape:export-filename="/home/johan/birdfont/icons/zoom_out.png" + inkscape:export-xdpi="319.88824" + inkscape:export-ydpi="319.88824" /> + <path + inkscape:export-ydpi="319.88824" + inkscape:export-xdpi="319.88824" + inkscape:export-filename="/home/johan/birdfont/icons/zoom_out.png" + style="fill:none;stroke:#656a73;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 142.2733,242.64784 -16.23756,0" + id="path4947-0-9" + inkscape:connector-curvature="0" /> + </g> + </g> + <g + style="font-size:10px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#858585;fill-opacity:1;stroke:none;font-family:Sans" + id="text4900-4-7-0" + transform="matrix(3.6179417,0,0,3.6179417,46.370827,973.22812)" + inkscape:export-filename="/home/johan/birdfont/icons/full_glyph.png" + inkscape:export-xdpi="319" + inkscape:export-ydpi="319"> + <path + d="m 166.07191,235.79424 4.18946,0 0,0.83007 -3.20313,0 0,2.14844 2.89063,0 0,0.83008 -2.89063,0 0,3.48144 -0.98633,0 0,-7.29003" + id="path3777-7-8" + inkscape:connector-curvature="0" /> + </g> + <path + style="fill:none;stroke:#656a73;stroke-width:3.61794162px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 98.013003,2125.663 19.785627,-25.2126 5.42691,-9.0448 c 0,0 -3.18994,-4.5081 -0.0789,-9.2725 2.99833,-4.5918 6.45893,-4.4361 8.67152,-3.3903 2.58324,1.2209 1.46979,6.4444 0.11324,8.0273 -1.35673,1.5828 -3.54305,5.2409 -6.44446,6.5575 -2.34084,1.0622 -7.68813,7.1228 -7.68813,7.1228 l 1.01755,2.3743 1.69591,1.5828 8.81874,-7.2359 c 1.90676,-3.3674 4.89373,-6.1714 6.92785,-8.3308 2.27536,-2.4155 6.84026,-1.1387 8.03183,1.9221 1.19156,3.0608 -4.22174,8.0997 -7.22836,8.6714 -1.54703,0.2942 -5.80929,-0.5668 -6.37459,-0.9059 -0.56535,-0.339 -11.64529,8.0272 -11.64529,8.0272 z" + id="path4399-5-6" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccssssccccsssscc" + inkscape:export-filename="/home/johan/birdfont/icons/cut_background.png" + inkscape:export-xdpi="319.88824" + inkscape:export-ydpi="319.88824" /> + <rect + style="fill:none;stroke:#656a73;stroke-width:3.61794162;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + id="rect4999-9-7-8" + width="35.994354" + height="34.521339" + x="228.31245" + y="2077.4915" + inkscape:export-filename="/home/johan/birdfont/icons/show_background.png" + inkscape:export-xdpi="319.88824" + inkscape:export-ydpi="319.88824" /> + <rect + inkscape:export-ydpi="319.88824" + inkscape:export-xdpi="319.88824" + inkscape:export-filename="/home/johan/birdfont/icons/show_background.png" + y="2092.3469" + x="241.81746" + height="34.521339" + width="35.994354" + id="rect4423-3-7" + style="fill:none;stroke:#656a73;stroke-width:3.61794162;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + <rect + inkscape:export-ydpi="319.88824" + inkscape:export-xdpi="319.88824" + inkscape:export-filename="/home/johan/birdfont/icons/insert_background.png" + y="2081.1567" + x="370.93964" + height="40.627434" + width="42.360996" + id="rect4423-5-2-5" + style="fill:none;stroke:#656a73;stroke-width:3.61794162;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + <rect + style="fill:none;stroke:#656a73;stroke-width:3.61794162;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + id="rect4322-8-3" + width="42.360996" + height="40.627434" + x="370.93964" + y="2081.1567" + inkscape:export-filename="/home/johan/birdfont/icons/insert_background.png" + inkscape:export-xdpi="319.88824" + inkscape:export-ydpi="319.88824" /> + <g + inkscape:transform-center-y="9.0719991" + style="font-size:10px;font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#656a73;fill-opacity:1;stroke:none;font-family:KacstDigital;-inkscape-font-specification:KacstDigital Medium" + id="text4324-1-1" + transform="matrix(3.6179417,0,0,3.6179417,-87.264751,925.29772)" + inkscape:export-filename="/home/johan/birdfont/icons/insert_background.png" + inkscape:export-xdpi="319" + inkscape:export-ydpi="319"> + <path + d="m 130.90663,325.30753 0,2.67089 1.58203,0 c 0.5306,0 0.92285,-0.10904 1.17676,-0.32714 0.25716,-0.22136 0.38574,-0.55827 0.38574,-1.01075 0,-0.45572 -0.12858,-0.79101 -0.38574,-1.00586 -0.25391,-0.21809 -0.64616,-0.32714 -1.17676,-0.32714 l -1.58203,0 m 0,-2.99805 0,2.19726 1.45996,0 c 0.48177,1e-5 0.83984,-0.0895 1.07422,-0.26855 0.23763,-0.18229 0.35644,-0.45898 0.35645,-0.83008 -1e-5,-0.36783 -0.11882,-0.6429 -0.35645,-0.82519 -0.23438,-0.18229 -0.59245,-0.27343 -1.07422,-0.27344 l -1.45996,0 m -0.98633,-0.81055 2.51953,0 c 0.75195,1e-5 1.33138,0.15626 1.73829,0.46875 0.40689,0.31251 0.61034,0.75684 0.61035,1.33301 -1e-5,0.44597 -0.10418,0.80079 -0.3125,1.06445 -0.20834,0.26368 -0.51433,0.42807 -0.91797,0.49317 0.48502,0.10417 0.861,0.32227 1.12793,0.65429 0.27017,0.32878 0.40527,0.74057 0.40527,1.23536 0,0.65104 -0.22136,1.15397 -0.66406,1.50878 -0.44271,0.35482 -1.0726,0.53223 -1.88965,0.53223 l -2.61719,0 0,-7.29004" + id="path3763-5-3" + inkscape:connector-curvature="0" + style="fill:#656a73;fill-opacity:1;stroke:none" /> + </g> + <path + style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#656a73;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.37405884;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" + d="m 519.758,2070.6024 0,1.8089 0,2.1482 c 1.47545,-0.069 3.04622,0 4.29626,0 13.92505,1.2967 24.8734,12.7537 24.8734,27.0215 0,14.2673 -10.94908,25.611 -24.8734,26.9085 -1.00884,0.089 -3.08057,0.226 -4.29626,0.226 l 0,2.0351 0,1.8091 1.80896,0 c 17.09916,0 30.97862,-13.8796 30.97862,-30.9787 0,-17.0992 -13.87946,-30.9786 -30.97862,-30.9786 z" + id="path4173-3-9-2" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccsccccsssc" + inkscape:export-filename="/home/johan/birdfont/icons/autotrace.png" + inkscape:export-xdpi="323.47827" + inkscape:export-ydpi="323.47827" /> + <rect + style="color:#000000;fill:#656a73;fill-opacity:1;fill-rule:nonzero;stroke:#656a73;stroke-width:0.17465924;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect3434-6-8-9-8" + width="5.9046741" + height="6.1130738" + x="509.23071" + y="2070.4858" + inkscape:export-filename="/home/johan/birdfont/icons/autotrace.png" + inkscape:export-xdpi="323.47827" + inkscape:export-ydpi="323.47827" /> + <rect + style="color:#000000;fill:#656a73;fill-opacity:1;fill-rule:nonzero;stroke:#656a73;stroke-width:0.17465924;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect3434-6-3-6-3" + width="5.9046741" + height="6.1130738" + x="499.73361" + y="2074.7822" + inkscape:export-filename="/home/johan/birdfont/icons/autotrace.png" + inkscape:export-xdpi="323.47827" + inkscape:export-ydpi="323.47827" /> + <rect + style="color:#000000;fill:#656a73;fill-opacity:1;fill-rule:nonzero;stroke:#656a73;stroke-width:0.17465924;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect3434-6-1-7-8" + width="5.9046741" + height="6.1130738" + x="489.85822" + y="2082.2085" + inkscape:export-filename="/home/johan/birdfont/icons/autotrace.png" + inkscape:export-xdpi="323.47827" + inkscape:export-ydpi="323.47827" /> + <rect + style="color:#000000;fill:#656a73;fill-opacity:1;fill-rule:nonzero;stroke:#656a73;stroke-width:0.17465924;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect3434-6-6-0-0" + width="5.9046741" + height="6.1130738" + x="487.55353" + y="2091.9626" + inkscape:export-filename="/home/johan/birdfont/icons/autotrace.png" + inkscape:export-xdpi="323.47827" + inkscape:export-ydpi="323.47827" /> + <rect + style="color:#000000;fill:#656a73;fill-opacity:1;fill-rule:nonzero;stroke:#656a73;stroke-width:0.17465924;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect3434-6-7-7-3" + width="5.9046741" + height="6.1130738" + x="487.68597" + y="2102.395" + inkscape:export-filename="/home/johan/birdfont/icons/autotrace.png" + inkscape:export-xdpi="323.47827" + inkscape:export-ydpi="323.47827" /> + <rect + style="color:#000000;fill:#656a73;fill-opacity:1;fill-rule:nonzero;stroke:#656a73;stroke-width:0.17465924;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect3434-6-72-7-4" + width="5.9046741" + height="6.1130738" + x="499.06317" + y="2121.9685" + inkscape:export-filename="/home/johan/birdfont/icons/autotrace.png" + inkscape:export-xdpi="323.47827" + inkscape:export-ydpi="323.47827" /> + <rect + style="color:#000000;fill:#656a73;fill-opacity:1;fill-rule:nonzero;stroke:#656a73;stroke-width:0.17465924;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect3434-6-82-2-0" + width="5.9046741" + height="6.1130738" + x="509.56985" + y="2125.3201" + inkscape:export-filename="/home/johan/birdfont/icons/autotrace.png" + inkscape:export-xdpi="323.47827" + inkscape:export-ydpi="323.47827" /> + <rect + style="color:#000000;fill:#656a73;fill-opacity:1;fill-rule:nonzero;stroke:#656a73;stroke-width:0.17465924;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect3434-6-72-9-0-6" + width="5.9046741" + height="6.1130738" + x="490.0307" + y="2113.0659" + inkscape:export-filename="/home/johan/birdfont/icons/autotrace.png" + inkscape:export-xdpi="323.47827" + inkscape:export-ydpi="323.47827" /> + <rect + style="color:#000000;fill:none;stroke:#656a73;stroke-width:0.17465924;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect3434-6-72-5-15-4" + width="5.9046741" + height="6.1130738" + x="509.54959" + y="2081.1946" + inkscape:export-filename="/home/johan/birdfont/icons/autotrace.png" + inkscape:export-xdpi="323.47827" + inkscape:export-ydpi="323.47827" /> + <rect + style="color:#000000;fill:none;stroke:#656a73;stroke-width:0.17465924;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect3434-6-72-5-1-2-7" + width="5.9046741" + height="6.1130738" + x="509.54959" + y="2092.1912" + inkscape:export-filename="/home/johan/birdfont/icons/autotrace.png" + inkscape:export-xdpi="323.47827" + inkscape:export-ydpi="323.47827" /> + <rect + inkscape:export-ydpi="323.47827" + inkscape:export-xdpi="323.47827" + inkscape:export-filename="/home/johan/birdfont/icons/autotrace.png" + y="2101.999" + x="509.54959" + height="6.1130738" + width="5.9046741" + id="rect4474-0-9" + style="color:#000000;fill:none;stroke:#656a73;stroke-width:0.17465924;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <rect + style="color:#000000;fill:none;stroke:#656a73;stroke-width:0.17465924;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect4476-1-8" + width="5.9046741" + height="6.1130738" + x="509.54959" + y="2113.8875" + inkscape:export-filename="/home/johan/birdfont/icons/autotrace.png" + inkscape:export-xdpi="323.47827" + inkscape:export-ydpi="323.47827" /> + <rect + inkscape:export-ydpi="323.47827" + inkscape:export-xdpi="323.47827" + inkscape:export-filename="/home/johan/birdfont/icons/autotrace.png" + y="2108.0129" + x="499.46701" + height="6.1130738" + width="5.9046741" + id="rect4478-4-8" + style="color:#000000;fill:none;stroke:#656a73;stroke-width:0.17465924;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <rect + style="color:#000000;fill:none;stroke:#656a73;stroke-width:0.17465924;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect4480-8-1" + width="5.9046741" + height="6.1130738" + x="499.51212" + y="2097.541" + inkscape:export-filename="/home/johan/birdfont/icons/autotrace.png" + inkscape:export-xdpi="323.47827" + inkscape:export-ydpi="323.47827" /> + <rect + inkscape:export-ydpi="323.47827" + inkscape:export-xdpi="323.47827" + inkscape:export-filename="/home/johan/birdfont/icons/autotrace.png" + y="2087.071" + x="499.32968" + height="6.1130738" + width="5.9046741" + id="rect4482-4-9" + style="color:#000000;fill:none;stroke:#656a73;stroke-width:0.17465924;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" /> + <path + style="fill:#656a73;fill-opacity:1;stroke:#656a73;stroke-width:2.52907324px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 722.83395,2073.899 c 0.20653,4.9514 1.38591,49.4882 1.38591,49.4882" + id="path4307-0-1" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" + inkscape:export-filename="/home/johan/birdfont/icons/auto_trace_simplify.png" + inkscape:export-xdpi="319" + inkscape:export-ydpi="319" /> + <path + sodipodi:type="arc" + style="color:#000000;fill:#656a73;fill-opacity:1;fill-rule:nonzero;stroke:#656a73;stroke-width:0.1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="path3435-7-2" + sodipodi:cx="159.59375" + sodipodi:cy="396.15607" + sodipodi:rx="0.8125" + sodipodi:ry="0.8125" + d="m 160.40625,396.15607 a 0.8125,0.8125 0 1 1 -1.625,0 0.8125,0.8125 0 1 1 1.625,0 z" + inkscape:transform-center-x="-15.031336" + inkscape:transform-center-y="1.015468" + transform="matrix(6.5000628,0,0,6.5000628,-312.94171,-451.187)" + inkscape:export-filename="/home/johan/birdfont/icons/auto_trace_simplify.png" + inkscape:export-xdpi="319" + inkscape:export-ydpi="319" /> + <path + sodipodi:type="arc" + style="color:#000000;fill:#656a73;fill-opacity:1;fill-rule:nonzero;stroke:#656a73;stroke-width:0.1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="path3435-0-0-3" + sodipodi:cx="159.59375" + sodipodi:cy="396.15607" + sodipodi:rx="0.8125" + sodipodi:ry="0.8125" + d="m 160.40625,396.15607 a 0.8125,0.8125 0 1 1 -1.625,0 0.8125,0.8125 0 1 1 1.625,0 z" + inkscape:transform-center-x="-15.031348" + inkscape:transform-center-y="1.0154339" + transform="matrix(6.5000628,0,0,6.5000628,-313.98013,-484.10165)" + inkscape:export-filename="/home/johan/birdfont/icons/auto_trace_simplify.png" + inkscape:export-xdpi="319" + inkscape:export-ydpi="319" /> + <path + sodipodi:type="arc" + style="color:#000000;fill:#656a73;fill-opacity:1;fill-rule:nonzero;stroke:#656a73;stroke-width:0.1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="path3435-0-9-9-7" + sodipodi:cx="159.59375" + sodipodi:cy="396.15607" + sodipodi:rx="0.8125" + sodipodi:ry="0.8125" + d="m 160.40625,396.15607 a 0.8125,0.8125 0 1 1 -1.625,0 0.8125,0.8125 0 1 1 1.625,0 z" + inkscape:transform-center-x="-15.031352" + inkscape:transform-center-y="1.0154557" + transform="matrix(6.5000628,0,0,6.5000628,-314.39131,-500.40613)" + inkscape:export-filename="/home/johan/birdfont/icons/auto_trace_simplify.png" + inkscape:export-xdpi="319" + inkscape:export-ydpi="319" /> + <path + style="fill:#656a73;fill-opacity:1;stroke:#656a73;stroke-width:2.52907324px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 757.73559,2073.3545 c 0.20652,4.9515 1.38591,49.4883 1.38591,49.4883" + id="path4307-8-1-6" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" + inkscape:export-filename="/home/johan/birdfont/icons/auto_trace_simplify.png" + inkscape:export-xdpi="319" + inkscape:export-ydpi="319" /> + <path + sodipodi:type="arc" + style="color:#000000;fill:#656a73;fill-opacity:1;fill-rule:nonzero;stroke:#656a73;stroke-width:0.1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="path3435-2-4-5" + sodipodi:cx="159.59375" + sodipodi:cy="396.15607" + sodipodi:rx="0.8125" + sodipodi:ry="0.8125" + d="m 160.40625,396.15607 a 0.8125,0.8125 0 1 1 -1.625,0 0.8125,0.8125 0 1 1 1.625,0 z" + inkscape:transform-center-x="-15.031314" + inkscape:transform-center-y="1.0154454" + transform="matrix(6.5000628,0,0,6.5000628,-278.04012,-451.73143)" + inkscape:export-filename="/home/johan/birdfont/icons/auto_trace_simplify.png" + inkscape:export-xdpi="319" + inkscape:export-ydpi="319" /> + <path + sodipodi:type="arc" + style="color:#000000;fill:#656a73;fill-opacity:1;fill-rule:nonzero;stroke:#656a73;stroke-width:0.1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="path3435-0-9-2-4-0" + sodipodi:cx="159.59375" + sodipodi:cy="396.15607" + sodipodi:rx="0.8125" + sodipodi:ry="0.8125" + d="m 160.40625,396.15607 a 0.8125,0.8125 0 1 1 -1.625,0 0.8125,0.8125 0 1 1 1.625,0 z" + inkscape:transform-center-x="-15.031329" + inkscape:transform-center-y="1.0154038" + transform="matrix(6.5000628,0,0,6.5000628,-279.48972,-500.95064)" + inkscape:export-filename="/home/johan/birdfont/icons/auto_trace_simplify.png" + inkscape:export-xdpi="319" + inkscape:export-ydpi="319" /> + <path + sodipodi:type="arc" + style="color:#000000;fill:#656a73;fill-opacity:1;fill-rule:nonzero;stroke:#656a73;stroke-width:0.1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="path3435-0-3-6-6" + sodipodi:cx="159.59375" + sodipodi:cy="396.15607" + sodipodi:rx="0.8125" + sodipodi:ry="0.8125" + d="m 160.40625,396.15607 a 0.8125,0.8125 0 1 1 -1.625,0 0.8125,0.8125 0 1 1 1.625,0 z" + inkscape:transform-center-x="-15.031335" + inkscape:transform-center-y="1.0154525" + transform="matrix(6.5000628,0,0,6.5000628,-313.47479,-468.10405)" + inkscape:export-filename="/home/johan/birdfont/icons/auto_trace_simplify.png" + inkscape:export-xdpi="319" + inkscape:export-ydpi="319" /> + <path + style="fill:#656a73;fill-opacity:1;stroke:#656a73;stroke-width:2.52907324px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 741.03939,2073.1851 c 0.2066,4.9515 1.38598,49.4882 1.38598,49.4882" + id="path4307-6-4-1" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" + inkscape:export-filename="/home/johan/birdfont/icons/auto_trace_simplify.png" + inkscape:export-xdpi="319" + inkscape:export-ydpi="319" /> + <path + sodipodi:type="arc" + style="color:#000000;fill:#656a73;fill-opacity:1;fill-rule:nonzero;stroke:#656a73;stroke-width:0.1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="path3435-8-5-8" + sodipodi:cx="159.59375" + sodipodi:cy="396.15607" + sodipodi:rx="0.8125" + sodipodi:ry="0.8125" + d="m 160.40625,396.15607 a 0.8125,0.8125 0 1 1 -1.625,0 0.8125,0.8125 0 1 1 1.625,0 z" + inkscape:transform-center-x="-15.031325" + inkscape:transform-center-y="1.0154345" + transform="matrix(6.5000628,0,0,6.5000628,-294.73624,-451.90091)" + inkscape:export-filename="/home/johan/birdfont/icons/auto_trace_simplify.png" + inkscape:export-xdpi="319" + inkscape:export-ydpi="319" /> + <path + sodipodi:type="arc" + style="color:#000000;fill:#656a73;fill-opacity:1;fill-rule:nonzero;stroke:#656a73;stroke-width:0.1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="path3435-0-90-4-3" + sodipodi:cx="159.59375" + sodipodi:cy="396.15607" + sodipodi:rx="0.8125" + sodipodi:ry="0.8125" + d="m 160.40625,396.15607 a 0.8125,0.8125 0 1 1 -1.625,0 0.8125,0.8125 0 1 1 1.625,0 z" + inkscape:transform-center-x="-15.031336" + inkscape:transform-center-y="1.0154592" + transform="matrix(6.5000628,0,0,6.5000628,-295.77466,-477.61)" + inkscape:export-filename="/home/johan/birdfont/icons/auto_trace_simplify.png" + inkscape:export-xdpi="319" + inkscape:export-ydpi="319" /> + <path + sodipodi:type="arc" + style="color:#000000;fill:#656a73;fill-opacity:1;fill-rule:nonzero;stroke:#656a73;stroke-width:0.1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="path3435-0-9-3-2-6" + sodipodi:cx="159.59375" + sodipodi:cy="396.15607" + sodipodi:rx="0.8125" + sodipodi:ry="0.8125" + d="m 160.40625,396.15607 a 0.8125,0.8125 0 1 1 -1.625,0 0.8125,0.8125 0 1 1 1.625,0 z" + inkscape:transform-center-x="-15.031346" + inkscape:transform-center-y="1.0155053" + transform="matrix(6.5000628,0,0,6.5000628,-296.18587,-501.11996)" + inkscape:export-filename="/home/johan/birdfont/icons/auto_trace_simplify.png" + inkscape:export-xdpi="319" + inkscape:export-ydpi="319" /> + <rect + inkscape:export-ydpi="319.88824" + inkscape:export-xdpi="319.88824" + inkscape:export-filename="/home/johan/birdfont/icons/scale_background.png" + y="2202.7981" + x="97.88858" + height="27.222223" + width="26.886265" + id="rect4423-3-4-3" + style="fill:none;stroke:#656a73;stroke-width:2.89435339;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + <rect + style="fill:none;stroke:#656a73;stroke-width:2.89435339;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + id="rect5580-6" + width="52.754551" + height="44.045647" + x="97.822746" + y="2186.0986" + inkscape:export-filename="/home/johan/birdfont/icons/scale_background.png" + inkscape:export-xdpi="319.88824" + inkscape:export-ydpi="319.88824" /> + <path + style="fill:none;stroke:#656a73;stroke-width:3.61794162;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="m 247.20321,2204.2233 6.68491,-6.6849 -8.74182,-8.7418 33.03897,0 0,34.3245 -7.90621,-7.9063 -5.46364,5.7208 7.7275,7.9624 -33.95297,0.01 0,-32.6533 z" + id="path4060-1-5-2" + inkscape:connector-curvature="0" + sodipodi:nodetypes="ccccccccccc" + inkscape:export-filename="/home/johan/birdfont/icons/resize.png" + inkscape:export-xdpi="319.88824" + inkscape:export-ydpi="319.88824" /> + <rect + style="opacity:0.71193417;color:#000000;fill:#656a73;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect5600-7" + width="27.358919" + height="29.638828" + x="369.34305" + y="2195.9314" + inkscape:export-filename="/home/johan/birdfont/icons/auto_trace_resolution.png" + inkscape:export-xdpi="319" + inkscape:export-ydpi="319" /> + <rect + style="opacity:0.71193417;color:#000000;fill:#656a73;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect5606-4" + width="11.083484" + height="11.371366" + x="402.53723" + y="2195.9004" + inkscape:export-filename="/home/johan/birdfont/icons/auto_trace_resolution.png" + inkscape:export-xdpi="319" + inkscape:export-ydpi="319" /> + <rect + style="opacity:0.71193417;color:#000000;fill:#656a73;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect5606-0-5" + width="11.083484" + height="11.371366" + x="418.58652" + y="2195.8284" + inkscape:export-filename="/home/johan/birdfont/icons/auto_trace_resolution.png" + inkscape:export-xdpi="319" + inkscape:export-ydpi="319" /> + <rect + style="opacity:0.71193417;color:#000000;fill:#656a73;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect5606-0-2-6" + width="11.083484" + height="11.371366" + x="418.5867" + y="2214.1089" + inkscape:export-filename="/home/johan/birdfont/icons/auto_trace_resolution.png" + inkscape:export-xdpi="319" + inkscape:export-ydpi="319" /> + <rect + style="opacity:0.71193417;color:#000000;fill:#656a73;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.80000001;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + id="rect5606-0-7-4" + width="11.083484" + height="11.371366" + x="402.46521" + y="2214.2529" + inkscape:export-filename="/home/johan/birdfont/icons/auto_trace_resolution.png" + inkscape:export-xdpi="319" + inkscape:export-ydpi="319" /> + <path + style="fill:#000000;fill-opacity:0;stroke:#656a73;stroke-width:3.61794162;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="m 514.16522,2186.9006 -7.80119,8.1403 15.1501,14.3588 -15.1501,14.3587 7.80119,8.1404 15.48931,-14.6979 15.60238,14.6979 7.68812,-8.1404 -15.15018,-14.3587 15.15018,-14.3588 -7.68812,-8.1403 -15.60238,14.6979 -15.48931,-14.6979 z" + id="rect3375-3-0" + inkscape:connector-curvature="0" + inkscape:export-filename="/home/johan/birdfont/icons/delete_background.png" + inkscape:export-xdpi="319" + inkscape:export-ydpi="319" /> + <g + id="g4386-2-0" + transform="matrix(3.6179417,0,0,3.6179417,52.05176,1806.299)" + style="stroke:#858585" + inkscape:export-filename="/home/johan/birdfont/icons/union_paths.png" + inkscape:export-xdpi="319.88824" + inkscape:export-ydpi="319.88824"> + <path + inkscape:connector-curvature="0" + id="path4325-1-4" + d="m 24.121545,137.00393 c -2.790541,0 -5.0625,2.27196 -5.0625,5.0625 0,0.28366 0.04882,0.57283 0.09375,0.84375 -0.213093,-0.0254 -0.43631,-0.0312 -0.65625,-0.0312 -2.997324,0 -5.4375,2.44018 -5.4375,5.4375 0,2.99732 2.440176,5.40625 5.4375,5.40625 2.997324,0 5.4375,-2.40893 5.4375,-5.40625 0,-0.41889 -0.06642,-0.82711 -0.15625,-1.21875 0.111215,0.007 0.230685,0.0312 0.34375,0.0312 2.790541,0 5.0625,-2.27196 5.0625,-5.0625 0,-2.79054 -2.271959,-5.0625 -5.0625,-5.0625 z" + style="fill:#e6e6e6;fill-opacity:1;stroke:#858585;stroke-width:0.80000001;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + <path + inkscape:connector-curvature="0" + id="path4334-6-7" + d="m 20.201005,143.05025 1.002199,0.26853" + style="fill:none;stroke:#858585;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + style="fill:none;stroke:#858585;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 23.149414,144.92095 0.334337,0.98221" + id="path4338-5-9-6" + inkscape:connector-curvature="0" /> + <path + style="fill:none;stroke:#858585;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 21.809082,143.65195 0.803947,0.65589" + id="path4338-5-4-0-3" + inkscape:connector-curvature="0" /> + </g> + <path + style="fill:#858585;stroke:#858585;stroke-width:0.74456871;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="m 373.19849,2310.5945 0,25.8167 67.34797,0 z" + id="path4441-46-8" + inkscape:connector-curvature="0" + inkscape:export-filename="/home/johan/birdfont/icons/flip_vertical.png" + inkscape:export-xdpi="319.88824" + inkscape:export-ydpi="319.88824" /> + <path + inkscape:connector-curvature="0" + id="path4443-7-7" + d="m 374.14742,2369.0758 0,-25.0892 65.45011,0 z" + style="fill:#ffffff;fill-opacity:1;stroke:#858585;stroke-width:3.61794162;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + inkscape:export-filename="/home/johan/birdfont/icons/flip_vertical.png" + inkscape:export-xdpi="319.88824" + inkscape:export-ydpi="319.88824" /> + <path + style="fill:#858585;stroke:#858585;stroke-width:0.75855565;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + d="m 500.79405,2370.2065 26.30163,0 0,-68.6131 z" + id="path4441-4-2-4" + inkscape:connector-curvature="0" + inkscape:export-filename="/home/johan/birdfont/icons/flip_horizontal.png" + inkscape:export-xdpi="319.88824" + inkscape:export-ydpi="319.88824" /> + <path + inkscape:connector-curvature="0" + id="path4443-1-6-9" + d="m 559.51775,2368.6251 -25.0892,0 0,-65.4502 z" + style="fill:#ffffff;fill-opacity:1;stroke:#858585;stroke-width:3.61794162;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" + inkscape:export-filename="/home/johan/birdfont/icons/flip_horizontal.png" + inkscape:export-xdpi="319.88824" + inkscape:export-ydpi="319.88824" /> + <g + id="g4487-4-6" + transform="matrix(3.6179417,0,0,3.6179417,203.2788,2270.7045)" + inkscape:export-filename="/home/johan/birdfont/icons/move_layer.png" + inkscape:export-xdpi="319.88824" + inkscape:export-ydpi="319.88824" + style="fill:#858585;stroke:#858585"> + <path + inkscape:connector-curvature="0" + id="path4473-1-5" + d="m 7.4681623,26.422633 21.7356957,0" + style="fill:#858585;stroke:#858585;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" + id="path4477-6-4" + d="m 17.224359,22.409889 11.645104,0" + style="fill:#858585;stroke:#858585;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + sodipodi:nodetypes="cc" + inkscape:connector-curvature="0" + id="path4479-5-1" + d="m 11.964066,11.524675 0.157635,8.263051" + style="fill:#858585;stroke:#858585;stroke-width:1.20732284px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + <path + sodipodi:nodetypes="cccc" + inkscape:connector-curvature="0" + id="path4485-7-3" + d="m 9.9685112,20.19145 1.9278198,3.339083 1.905931,-3.30117 z" + style="fill:#858585;stroke:#858585;stroke-width:1.20732284px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" /> + </g> + <g + transform="matrix(3.6179417,0,0,3.6179417,-957.56438,209.20856)" + id="g5409-0" + inkscape:export-filename="/home/johan/birdfont/icons/select_background.png" + inkscape:export-xdpi="319" + inkscape:export-ydpi="319"> + <rect + inkscape:export-ydpi="319.88824" + inkscape:export-xdpi="319.88824" + inkscape:export-filename="/home/johan/birdfont/icons/rectangle.png" + y="546.9646" + x="434.1958" + height="11.286502" + width="16.043371" + id="rect4999-4-5-6" + style="fill:none;stroke:#656a73;stroke-width:0.95943475;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + <path + transform="translate(-0.12464139,-1.620338)" + d="m 453.04888,560.29639 c 0,1.12959 -0.91572,2.0453 -2.04531,2.0453 -1.12959,0 -2.0453,-0.91571 -2.0453,-2.0453 0,-1.12959 0.91571,-2.04531 2.0453,-2.04531 1.12959,0 2.04531,0.91572 2.04531,2.04531 z" + sodipodi:ry="2.045305" + sodipodi:rx="2.045305" + sodipodi:cy="560.29639" + sodipodi:cx="451.00357" + id="path5389-3" + style="opacity:0.98000004;color:#000000;fill:#656a73;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" + sodipodi:type="arc" /> + <rect + inkscape:export-ydpi="319.88824" + inkscape:export-xdpi="319.88824" + inkscape:export-filename="/home/johan/birdfont/icons/rectangle.png" + y="544.76648" + x="431.87128" + height="15.457257" + width="20.71269" + id="rect4999-4-5-4-7" + style="fill:none;stroke:none" /> + </g> + <g + transform="matrix(3.6179417,0,0,3.6179417,-957.56438,209.20856)" + id="g4659-9" + inkscape:export-filename="/home/johan/birdfont/icons/update_webview.png" + inkscape:export-xdpi="319" + inkscape:export-ydpi="319"> + <rect + inkscape:export-ydpi="319" + inkscape:export-xdpi="319" + inkscape:export-filename="/home/johan/birdfont/icons/update_webview.png" + y="620.18311" + x="293.9325" + height="14.306025" + width="17.010134" + id="rect4069-4-3" + style="fill:none" /> + <path + sodipodi:nodetypes="csssc" + inkscape:connector-curvature="0" + id="path3285-9-2" + d="m 297.53094,624.76453 c -0.10371,-3.07049 2.4101,-3.2344 4.43523,-3.24588 2.47727,-0.014 4.86105,0.23803 4.89497,5.42429 0.0279,4.27128 -1.03283,6.09448 -4.44235,6.09448 -2.66799,0 -5.38239,-0.32164 -4.78479,-5.55719" + style="fill:none;stroke:#666a73;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + <path + sodipodi:nodetypes="ccc" + inkscape:connector-curvature="0" + id="path3289-3-6" + d="m 295.16925,629.6155 2.33613,-2.69315 2.43223,2.7018" + style="fill:none;stroke:#76787c;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /> + </g> + <g + id="g4154-3-6" + style="fill:#858585;fill-opacity:1;stroke:#656a73;stroke-opacity:1" + transform="matrix(3.6179417,0,0,3.6179417,71.474461,968.67592)" + inkscape:export-filename="/home/johan/birdfont/icons/export_fonts.png" + inkscape:export-xdpi="319" + inkscape:export-ydpi="319"> + <g + transform="translate(-3.690616,1.451615)" + id="g4145-2-1" + style="fill:#858585;fill-opacity:1;stroke:#656a73;stroke-opacity:1"> + <path + sodipodi:nodetypes="cc" + style="fill:#858585;fill-opacity:1;stroke:#656a73;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 51.12501,416.09675 12.128285,0" + id="path4133-3-0" + inkscape:connector-curvature="0" /> + <path + style="fill:#858585;fill-opacity:1;stroke:#656a73;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 60.897902,412.86775 2.992578,3.56045" + id="path4139-1-4" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + <path + style="fill:#858585;fill-opacity:1;stroke:#656a73;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 63.958333,415.90522 -3.078034,3.64394" + id="path4143-9-5" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" /> + </g> + </g> + <path + style="fill:none;stroke:#656a73;stroke-width:2.84522533px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 393.39002,2464.5758 0,39.2628 37.15677,0 0,-52.3611 -26.1862,0 z" + id="path4194-4-7" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cccccc" + inkscape:export-filename="/home/johan/birdfont/icons/generate_html_document.png" + inkscape:export-xdpi="320" + inkscape:export-ydpi="320" /> + <path + style="fill-opacity:1;stroke:#656a73;stroke-width:2.89435339;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0.55251142;stroke-dasharray:none" + d="m 394.51396,2466.8791 14.20158,0" + id="path4233-7-0" + inkscape:connector-curvature="0" + inkscape:export-filename="/home/johan/birdfont/icons/generate_html_document.png" + inkscape:export-xdpi="320" + inkscape:export-ydpi="320" /> + <g + style="font-size:8.32909298px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#656a73;fill-opacity:1;stroke:none;font-family:Big_Bottom_Cartoon_Hungarian;-inkscape-font-specification:Big_Bottom_Cartoon_Hungarian" + id="text4226-5-2" + transform="matrix(3.6179417,0,0,3.6179417,71.265562,959.14202)" + inkscape:export-filename="/home/johan/birdfont/icons/generate_html_document.png" + inkscape:export-xdpi="320" + inkscape:export-ydpi="320"> + <path + d="m 92.262767,417.02452 0.821522,0 0,2.48897 2.985134,0 0,-2.48897 0.821522,0 0,6.07195 -0.821522,0 0,-2.8916 -2.985134,0 0,2.8916 -0.821522,0 0,-6.07195" + style="fill:#656a73;fill-opacity:1;font-family:BetecknaBirdfont;-inkscape-font-specification:BetecknaBirdfont" + id="path4231-6-8" + inkscape:connector-curvature="0" /> + </g> + <path + style="fill-opacity:1;stroke:#656a73;stroke-width:2.89435339;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0.55251142;stroke-dasharray:none" + d="m 406.9573,2465.7669 0.0472,-13.3088" + id="path4238-0-2" + inkscape:connector-curvature="0" + sodipodi:nodetypes="cc" + inkscape:export-filename="/home/johan/birdfont/icons/generate_html_document.png" + inkscape:export-xdpi="320" + inkscape:export-ydpi="320" /> </g> </svg>
--- a/libbirdfont/Argument.vala +++ b/libbirdfont/Argument.vala @@ -71,7 +71,8 @@ a == "--mac" || a == "--android" || a == "--log" || - a == "--no-ucd") { + a == "--no-ucd" || + a == "--windows") { prev = a; i++; continue; @@ -209,6 +210,8 @@ return "--android"; case 'l': return "--log"; + case 'w': + return "--windows"; } return ""; @@ -252,6 +255,7 @@ print_padded ("-h, --help", t_("show this message")); print_padded ("-l, --log", t_("write a log file")); print_padded ("-m, --mac", t_("enable Machintosh customizations")); + print_padded ("-w, --windows", t_("enable Windows customizations")); print_padded ("-n, --no-translation", t_("don't translate")); print_padded ("-s, --slow", t_("sleep between each command in test suite")); print_padded ("-t --test [TEST]", t_("run test case"));
--- a/libbirdfont/BirdFont.vala +++ b/libbirdfont/BirdFont.vala @@ -442,7 +442,9 @@ experimental = args.has_argument ("--test"); show_coordinates = args.has_argument ("--show-coordinates") || experimental; fatal_wanings = args.has_argument ("--fatal-warning"); - win32 = (arg[0].index_of (".exe") > -1) || arg[0] == "wine"; + win32 = (arg[0].index_of (".exe") > -1) + || arg[0] == "wine" + || args.has_argument ("--windows"); #if MAC mac = true; @@ -493,6 +495,10 @@ if (TestBirdFont.get_singleton ().test_cases_to_run != "All") { TestBirdFont.run_tests (); } + } + + public static Argument get_arguments () { + return args; } void save_default_colors () { @@ -503,7 +509,7 @@ Theme.save_color ("Background 5", 0.3, 0.3, 0.3, 1); Theme.save_color ("Background 6", 224/255.0, 224/255.0, 224/255.0, 1); Theme.save_color ("Background 7", 56 / 255.0, 59 / 255.0, 65 / 255.0, 1); - Theme.save_color ("Background 7", 55/255.0, 55/255.0, 55/255.0, 1); + Theme.save_color ("Background 8", 55/255.0, 55/255.0, 55/255.0, 1); Theme.save_color ("Background 9", 72/255.0, 72/255.0, 72/255.0, 1); Theme.save_color ("Foreground 1", 0, 0, 0, 1); @@ -534,7 +540,9 @@ Theme.save_color ("Tool Border 4", 38 / 255.0, 39 / 255.0, 43 / 255.0, 1); Theme.save_color ("Tool Background 4", 33 / 255.0, 36 / 255.0, 39 / 255.0, 1); - + + Theme.save_color ("Button Foreground", 101 / 255.0, 108 / 255.0, 116 / 255.0, 1); + N_("Background 1"); N_("Background 2"); N_("Background 3"); @@ -568,6 +576,8 @@ N_("Tool Background 3"); N_("Tool Border 4"); N_("Tool Background 4"); + + N_("Button Foreground"); } public static void set_bundle_path (string path) {
--- a/libbirdfont/CutBackgroundTool.vala +++ b/libbirdfont/CutBackgroundTool.vala @@ -135,11 +135,11 @@ return fmin (x1, x2) + 1 < x < fmax (x1, x2) - 1 && fmin (y1, y2) + 1 < y < fmax (y1, y2) - 1; } - double get_width () { + public override double get_width () { return fabs (x1 - x2); } - double get_height () { + public override double get_height () { return fabs (y1 - y2); }
--- a/libbirdfont/Expander.vala +++ b/libbirdfont/Expander.vala @@ -232,6 +232,7 @@ if (headline != null) { title = new Text (); title.set_text ((!) headline); + title.use_cache (true); // FIXME: shapen text Theme.text_color (title, "Foreground 2"); title.set_font_size (17 * Toolbox.get_scale ()); title.draw_at_baseline (cr, x, yt + HEADLINE_MARGIN + 13 * Toolbox.get_scale ());
--- a/libbirdfont/FileDialogTab.vala +++ b/libbirdfont/FileDialogTab.vala @@ -1,5 +1,5 @@ /* - Copyright (C) 2014 Johan Mattsson + Copyright (C) 2014 2015 Johan Mattsson This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as @@ -137,11 +137,11 @@ } }); - MainWindow.native_window.set_text_listener (listener); + TabContent.show_text_input (listener); } public override void draw (WidgetAllocation allocation, Context cr) { - double y = 20 * MainWindow.units; + double y = 75 * MainWindow.units; int s = 0; bool color = (scroll % 2) == 0; @@ -199,12 +199,19 @@ if (dark) { cr.save (); Theme.color (cr, "Background 9"); + cr.rectangle (0, y - 14 * MainWindow.units, allocation.width, 18 * MainWindow.units); + cr.fill (); + cr.restore (); + } else { + cr.save (); + Theme.color (cr, "Background 1"); cr.rectangle (0, y - 14 * MainWindow.units, allocation.width, 18 * MainWindow.units); cr.fill (); cr.restore (); } } + // text cr.save (); if (dark) { Theme.color (cr, "Background 1"); @@ -218,7 +225,7 @@ public override void button_release (int button, double ex, double ey) { int s = 0; - double y = 0; + double y = 75 * MainWindow.units - 20 * MainWindow.units; string selected; bool dir = false; File f; @@ -248,6 +255,7 @@ if (button == 1) { if (!dir) { + selected_filename = selected; show_text_area (selected); } else { if (selected == "..") { @@ -266,6 +274,22 @@ update_scrollbar (); redraw_area (0, 0, allocation.width, allocation.height); + } + + public override void double_click (uint button, double ex, double ey) { + File f; + + button_release ((int) button, ex, ey); + + if (is_null (selected_filename)) { + warning ("No file."); + return; + } + + if (selected_filename != "") { + f = get_child (current_dir, selected_filename); + action.file_selected ((!)f.get_path ()); + } } public override string get_label () { @@ -281,14 +305,14 @@ } public override void scroll_wheel_down (double x, double y) { - int nfiles = files.size + directories.size; + double rows = 4.16 + files.size + directories.size; scroll += 3; - if (scroll > nfiles - visible_rows) { - scroll = (int) (nfiles - visible_rows); + if (scroll > rows - visible_rows) { + scroll = (int) (rows - visible_rows); } - if (visible_rows > nfiles) { + if (visible_rows > rows) { scroll = 0; } @@ -308,19 +332,19 @@ } public override void update_scrollbar () { - uint rows = files.size + directories.size; + double rows = 4.16 + files.size + directories.size; // 4.16 rows under the text input if (rows == 0 || visible_rows == 0) { MainWindow.set_scrollbar_size (0); MainWindow.set_scrollbar_position (0); } else { - MainWindow.set_scrollbar_size ((double) visible_rows / rows); - MainWindow.set_scrollbar_position ((double) scroll / rows); + MainWindow.set_scrollbar_size (visible_rows / rows); + MainWindow.set_scrollbar_position (scroll / rows); } } public override void scroll_to (double percent) { - uint rows = files.size + directories.size; + double rows = 4.16 + files.size + directories.size; scroll = (int) (percent * rows); if (scroll > rows - visible_rows) {
--- a/libbirdfont/FontName.vala +++ b/libbirdfont/FontName.vala @@ -18,8 +18,8 @@ public class FontName : Tool { - public FontName (string? name = null, string tip = "", unichar key = '\0', uint modifier_flag = 0) { - base (null , tip, key, modifier_flag); + public FontName (string? name = null, string tip = "") { + base (null , tip); if (name != null) { base.name = (!) name;
--- a/libbirdfont/Glyph.vala +++ b/libbirdfont/Glyph.vala @@ -389,6 +389,8 @@ } void update_zoom_bar () { + return_if_fail (!is_null (Toolbox.drawing_tools)); + return_if_fail (!is_null (Toolbox.drawing_tools.zoom_bar)); Toolbox.drawing_tools.zoom_bar.set_zoom ((view_zoom - 1) / 20); } @@ -2142,13 +2144,13 @@ BirdFont.get_current_font ().custom_guides.add (guide); - MainWindow.native_window.hide_text_input (); + TabContent.hide_text_input (); GlyphCanvas.redraw (); }); - MainWindow.native_window.set_text_listener (listener); + TabContent.show_text_input (listener); } } }
--- a/libbirdfont/KerningDisplay.vala +++ b/libbirdfont/KerningDisplay.vala @@ -638,7 +638,7 @@ listener.signal_submit.connect (() => { unichar c; - MainWindow.native_window.hide_text_input (); + TabContent.hide_text_input (); text_input = false; suppress_input = false; @@ -653,7 +653,7 @@ suppress_input = true; text_input = true; - MainWindow.native_window.set_text_listener (listener); + TabContent.show_text_input (listener); } public void new_line () { @@ -836,14 +836,14 @@ }); listener.signal_submit.connect (() => { - MainWindow.native_window.hide_text_input (); + TabContent.hide_text_input (); text_input = false; suppress_input = false; }); suppress_input = true; text_input = true; - MainWindow.native_window.set_text_listener (listener); + TabContent.show_text_input (listener); GlyphCanvas.redraw (); }
--- a/libbirdfont/KerningRange.vala +++ b/libbirdfont/KerningRange.vala @@ -23,8 +23,8 @@ public GlyphRange glyph_range; bool malformed = false; - public KerningRange (string? name = null, string tip = "", unichar key = '\0', uint modifier_flag = 0) { - base (null , tip, key, modifier_flag); + public KerningRange (string? name = null, string tip = "") { + base (null , tip); glyph_range = new GlyphRange (); if (name != null) { @@ -108,7 +108,7 @@ listener.signal_submit.connect (() => { MainWindow.get_kerning_display ().suppress_input = false; - MainWindow.native_window.hide_text_input (); + TabContent.hide_text_input (); // remove all empty classes if (ranges == "") { @@ -119,7 +119,7 @@ kerning_display.suppress_input = true; - MainWindow.native_window.set_text_listener (listener); + TabContent.show_text_input (listener); } public override void draw (Context cr) {
--- a/libbirdfont/LigatureList.vala +++ b/libbirdfont/LigatureList.vala @@ -49,11 +49,11 @@ if (row.get_index () == NEW_LIGATURE && column == 0) { add_ligature (t_("character sequence"), t_("ligature")); - MainWindow.native_window.hide_text_input (); + TabContent.hide_text_input (); } else if (row.get_index () == NEW_LIGATURE && column == 1) { if (BirdFont.has_argument ("--test")) { add_contextual_ligature (t_("beginning"), t_("middle"), t_("end")); - MainWindow.native_window.hide_text_input (); + TabContent.hide_text_input (); } } else if (row.has_row_data ()) { i = row.get_index (); @@ -71,7 +71,7 @@ if (delete_button) { return_if_fail (0 <= row.get_index () < ligatures.count ()); ligatures.remove_at (row.get_index ()); - MainWindow.native_window.hide_text_input (); + TabContent.hide_text_input (); } else if (column == 0) { return_if_fail (0 <= row.get_index () < ligatures.count ()); ligatures.set_ligature (row.get_index ()); @@ -86,7 +86,7 @@ return_if_fail (0 <= i < ligatures.count_contextual_ligatures ()); if (delete_button) { ligatures.remove_contextual_ligatures_at (i); - MainWindow.native_window.hide_text_input (); + TabContent.hide_text_input (); } else if (column == 0) { ligatures.set_beginning (i); } else if (column == 1) {
--- a/libbirdfont/Ligatures.vala +++ b/libbirdfont/Ligatures.vala @@ -113,11 +113,11 @@ }); listener.signal_submit.connect (() => { - MainWindow.native_window.hide_text_input (); + TabContent.hide_text_input (); MainWindow.get_ligature_display ().update_rows (); }); - MainWindow.native_window.set_text_listener (listener); + TabContent.show_text_input (listener); } public void set_middle (int index) { @@ -134,11 +134,11 @@ }); listener.signal_submit.connect (() => { - MainWindow.native_window.hide_text_input (); + TabContent.hide_text_input (); MainWindow.get_ligature_display ().update_rows (); }); - MainWindow.native_window.set_text_listener (listener); + TabContent.show_text_input (listener); } public void set_end (int index) { @@ -155,11 +155,11 @@ }); listener.signal_submit.connect (() => { - MainWindow.native_window.hide_text_input (); + TabContent.hide_text_input (); MainWindow.get_ligature_display ().update_rows (); }); - MainWindow.native_window.set_text_listener (listener); + TabContent.show_text_input (listener); } public void set_ligature (int index) {
--- a/libbirdfont/Line.vala +++ b/libbirdfont/Line.vala @@ -151,10 +151,10 @@ }); listener.signal_submit.connect (() => { - MainWindow.native_window.hide_text_input (); + TabContent.hide_text_input (); }); - MainWindow.native_window.set_text_listener (listener); + TabContent.show_text_input (listener); } else { move = true; }
--- a/libbirdfont/MainWindow.vala +++ b/libbirdfont/MainWindow.vala @@ -205,16 +205,16 @@ GlyphCanvas.redraw (); }); listener.signal_submit.connect (() => { - MainWindow.native_window.hide_text_input (); + TabContent.hide_text_input (); }); - native_window.set_text_listener (listener); + TabContent.show_text_input (listener); } public static MainWindow get_singleton () { return singleton; } - public static void file_chooser (string title, FileChooser fc, uint flags) { + public static void file_chooser (string title, FileChooser fc, uint flags) { MainWindow.native_window.file_chooser (title, fc, flags); }
--- a/libbirdfont/MenuTab.vala +++ b/libbirdfont/MenuTab.vala @@ -266,7 +266,7 @@ return; } - MainWindow.native_window.hide_text_input (); + TabContent.hide_text_input (); SaveDialogListener dialog = new SaveDialogListener (); Font font = BirdFont.get_current_font (); @@ -553,11 +553,11 @@ o.display_all_available_glyphs (); o.scroll_to_glyph (ligature_name); - MainWindow.native_window.hide_text_input (); + TabContent.hide_text_input (); show_all_available_characters (); }); - MainWindow.native_window.set_text_listener (listener); + TabContent.show_text_input (listener); } public static void show_default_characters () {
--- a/libbirdfont/NativeWindow.vala +++ b/libbirdfont/NativeWindow.vala @@ -27,12 +27,6 @@ public abstract void set_scrollbar_size (double size); public abstract void set_scrollbar_position (double position); - - /** Request text input from the UI. */ - public abstract void set_text_listener (TextListener listener); - - /** Remove the text listener and hode the text area. */ - public abstract void hide_text_input (); /** Show overwrite dialog */ public abstract void set_overwrite_dialog (OverWriteDialogListener dialog);
--- a/libbirdfont/OpenFontFormat/Ligature.vala +++ b/libbirdfont/OpenFontFormat/Ligature.vala @@ -37,11 +37,11 @@ }); listener.signal_submit.connect (() => { - MainWindow.native_window.hide_text_input (); + TabContent.hide_text_input (); MainWindow.get_ligature_display ().update_rows (); }); - MainWindow.native_window.set_text_listener (listener); + TabContent.show_text_input (listener); } public void set_substitution (ContextualLigature? clig = null) { @@ -62,13 +62,13 @@ }); listener.signal_submit.connect (() => { - MainWindow.native_window.hide_text_input (); + TabContent.hide_text_input (); MainWindow.get_ligature_display ().update_rows (); }); - MainWindow.native_window.set_text_listener (listener); + TabContent.show_text_input (listener); } } }
--- a/libbirdfont/OverView.vala +++ b/libbirdfont/OverView.vala @@ -172,11 +172,11 @@ OverView o = MainWindow.get_overview (); GlyphRange r = CharDatabase.search (o.search_query); o.set_glyph_range (r); - MainWindow.native_window.hide_text_input (); + TabContent.hide_text_input (); MainWindow.get_tab_bar ().select_tab_name ("Overview"); }); - MainWindow.native_window.set_text_listener (listener); + TabContent.show_text_input (listener); } public Glyph? get_current_glyph () {
--- a/libbirdfont/Renderer/FontCache.vala +++ b/libbirdfont/Renderer/FontCache.vala @@ -11,19 +11,18 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. */ + + using Gee; namespace BirdFont { /** Thread specific font cache. */ - public class FontCache { - Font? font; - string file_name; - + public class FontCache { static FontCache? default_cache = null; + Gee.HashMap<string, Font> fonts; public FontCache () { - font = null; - file_name = ""; + fonts = new Gee.HashMap<string, Font> (); } public Font? get_font (string file_name) { @@ -35,21 +34,22 @@ return null; } - if (this.file_name != file_name) { - f = new Font (); - this.file_name = file_name; - - f.set_file (file_name); - ok = f.load (); - if (!ok) { - stderr.printf ("Can't load %s\n", file_name); - return null; - } - - font = f; + if (fonts.has_key (file_name)) { + return fonts.get (file_name); } - return font; + print (@"LOAD FONT $file_name\n"); + f = new Font (); + f.set_file (file_name); + ok = f.load (); + if (!ok) { + stderr.printf ("Can't load %s\n", file_name); + return null; + } + + fonts.set (file_name, f); + + return f; } public static FontCache get_default_cache () {
--- a/libbirdfont/Renderer/LineTextArea.vala +++ b/libbirdfont/Renderer/LineTextArea.vala @@ -21,12 +21,14 @@ public LineTextArea (double size) { base (size); + single_line = true; min_height = size; height = min_height; + layout (); } } }
--- a/libbirdfont/Renderer/Text.vala +++ b/libbirdfont/Renderer/Text.vala @@ -1,5 +1,5 @@ /* - Copyright (C) 2014 Johan Mattsson + Copyright (C) 2014 2015 Johan Mattsson This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as @@ -61,7 +61,9 @@ double g = 0; double b = 0; double a = 1; - + + bool use_cached_glyphs = true; + public Text (string text = "", double size = 17, double margin_bottom = 0) { current_font = null; this.margin_bottom = margin_bottom; @@ -69,6 +71,10 @@ set_font_size (size); set_text (text); + } + + public void use_cache (bool cache) { + use_cached_glyphs = cache; } public static void load_default_font () { @@ -77,10 +83,25 @@ } } + /** Set font for this text area. + * @param font_absolute path to the font file or a file name for one of the font files in search paths. + * @return true if the font was found + */ + public bool load_font (string font_file) { + File path; + File f; + + f = File.new_for_path (font_file); + path = (f.query_exists ()) ? f : SearchPaths.find_file (null, font_file); + + current_font = FontCache.get_default_cache ().get_font ((!) path.get_path ()); + return current_font != null; + } + public static Font? get_default_font () { File path = SearchPaths.find_file (null, "roboto.bf"); return FontCache.get_default_cache ().get_font ((!) path.get_path ()); - } + } public void set_font_size (double height_in_pixels) { font_size = height_in_pixels; @@ -289,16 +310,6 @@ decender = font.base_line * ratio - min_y * ratio; return decender > 0 ? decender : 0; } - - public bool load_font (string file) { - Font? f = font_cache.get_font (file); - - if (f != null) { - font = (!) f; - } - - return f != null; - } public override void draw (Context cr) { double y = widget_y + get_height () + get_scale () * (font.bottom_limit + font.base_line); @@ -340,38 +351,71 @@ y = py; x = px; - - iterate ((glyph, kerning, last) => { - double lsb; - Surface cache; - Context cc; - - if (unlikely (!glyph.has_cache (cache_id))) { - cache = new Surface.similar (cr.get_target (), Cairo.Content.COLOR_ALPHA, (int) (glyph.get_width () * ratio) + 1, (int) font_size + 1); - cc = new Context (cache); - - lsb = glyph.left_limit; - cc.save (); - cc.set_source_rgba (r, g, b, a); - cc.new_path (); + if (use_cached_glyphs) { // FIXME: + iterate ((glyph, kerning, last) => { + x += kerning * ratio; + draw_chached (cr ,glyph, kerning, last, x, y, cc_y, cache_id, ratio); + x += glyph.get_width () * ratio; + }); + } else { + iterate ((glyph, kerning, last) => { + x += kerning * ratio; + draw_without_cache (cr, glyph, kerning, last, x, y, cc_y, cache_id, ratio); + x += glyph.get_width () * ratio; + }); + } + } + + void draw_without_cache (Context cr, Glyph glyph, double kerning, bool last, + double x, double y, double cc_y, int64 cache_id, double ratio) { + + double lsb; + + cr.save (); + cr.set_source_rgba (r, g, b, a); + cr.new_path (); - foreach (Path path in glyph.path_list) { - draw_path (cc, path, lsb, 0, cc_y, ratio); - } - - cc.fill (); - cc.restore (); + lsb = glyph.left_limit; - glyph.set_cache (cache_id, cache); - } + foreach (Path path in glyph.path_list) { + draw_path (cr, path, lsb, x, y, ratio); + } - x += kerning * ratio; - cr.set_source_surface (glyph.get_cache (cache_id), x, y - cc_y); - x += glyph.get_width () * ratio; + cr.fill (); + cr.restore (); + + } + + void draw_chached (Context cr, Glyph glyph, double kerning, bool last, + double x, double y, double cc_y,int64 cache_id, double ratio) { + + double lsb; + Surface cache; + Context cc; + + if (unlikely (!glyph.has_cache (cache_id))) { + cache = new Surface.similar (cr.get_target (), Cairo.Content.COLOR_ALPHA, (int) (glyph.get_width () * ratio) + 1, (int) font_size + 1); + cc = new Context (cache); - cr.paint (); - }); + lsb = glyph.left_limit; + + cc.save (); + cc.set_source_rgba (r, g, b, a); + cc.new_path (); + + foreach (Path path in glyph.path_list) { + draw_path (cc, path, lsb, 0, cc_y, ratio); + } + + cc.fill (); + cc.restore (); + + glyph.set_cache (cache_id, cache); + } + + cr.set_source_surface (glyph.get_cache (cache_id), x, y - cc_y); + cr.paint (); } void draw_path (Context cr, Path path, double lsb, double x, double y, double scale) {
--- a/libbirdfont/Renderer/TextArea.vala +++ b/libbirdfont/Renderer/TextArea.vala @@ -48,6 +48,7 @@ public signal void scroll (double pixels); public signal void text_changed (string text); + public signal void enter (string text); Gee.ArrayList<Paragraph> paragraphs = new Gee.ArrayList<Paragraph> (); private static const int DONE = -2; @@ -205,6 +206,10 @@ case Key.ENTER: store_undo_edit_state (); insert_text ("\n"); + + if (single_line) { + enter (get_text ()); + } break; case Key.DEL: if (has_selection ()) { @@ -740,7 +745,7 @@ if (paragraph.start_y + widget_y - font_size <= click_y <= paragraph.end_y + widget_y + font_size) { foreach (Text next_word in paragraph.words) { double tt_click = click_y - widget_y - padding + font_size; // - next_word.get_baseline_to_bottom (); //- font_size + next_word.get_baseline_to_bottom (); - + w = next_word.text; if (next_word.widget_y <= tt_click <= next_word.widget_y + font_size) { Theme.text_color (next_word, "Foreground 1"); @@ -760,6 +765,7 @@ string gc = (!) glyph.get_unichar ().to_string (); d = Math.fabs (click_x - tx); + if (d <= min_d) { min_d = d; c.character_index = ch_index; @@ -825,11 +831,7 @@ tx = 0; ty = font_size; - - if (unlikely (allocation.height == 0)) { - warning ("Allocation is not set."); - } - + for (i = paragraphs.size - 1; i >= 0 && paragraphs.size > 1; i--) { if (unlikely (paragraphs.get (i).is_empty ())) { warning ("Empty paragraph."); @@ -1564,17 +1566,19 @@ public int paragraph = 0; public int character_index { - get { return ci; } - set { if (value == 0) b(); ci = value; } + get { + return ci; + } + + set { + ci = value; + } } private int ci = 0; public double desired_x = 0; public double desired_y = 0; - - public void b () { - } public Carret () { }
--- a/libbirdfont/SpacingClass.vala +++ b/libbirdfont/SpacingClass.vala @@ -61,12 +61,12 @@ }); listener.signal_submit.connect (() => { - MainWindow.native_window.hide_text_input (); + TabContent.hide_text_input (); }); - MainWindow.native_window.set_text_listener (listener); + TabContent.show_text_input (listener); } } }
--- a/libbirdfont/SpacingClassTab.vala +++ b/libbirdfont/SpacingClassTab.vala @@ -34,7 +34,7 @@ if (row.get_index () == -1) { spacing.add_class ("?", "?"); - MainWindow.native_window.hide_text_input (); + TabContent.hide_text_input (); update_rows (); update_scrollbar (); font.touch (); @@ -42,7 +42,7 @@ if (delete_button) { return_if_fail (0 <= row.get_index () < spacing.classes.size); spacing.classes.remove_at (row.get_index ()); - MainWindow.native_window.hide_text_input (); + TabContent.hide_text_input (); update_rows (); update_scrollbar (); font.touch ();
--- a/libbirdfont/SpacingTab.vala +++ b/libbirdfont/SpacingTab.vala @@ -219,7 +219,7 @@ listener.signal_submit.connect (() => { double v; - MainWindow.native_window.hide_text_input (); + TabContent.hide_text_input (); text_input = false; suppress_input = false; @@ -230,7 +230,7 @@ suppress_input = true; text_input = true; - MainWindow.native_window.set_text_listener (listener); + TabContent.show_text_input (listener); } void update_rsb (Glyph? g) { @@ -256,7 +256,7 @@ listener.signal_submit.connect (() => { double v; - MainWindow.native_window.hide_text_input (); + TabContent.hide_text_input (); text_input = false; suppress_input = false; @@ -267,9 +267,9 @@ suppress_input = true; text_input = true; - MainWindow.native_window.set_text_listener (listener); + TabContent.show_text_input (listener); } } }
--- a/libbirdfont/SpinButton.vala +++ b/libbirdfont/SpinButton.vala @@ -42,8 +42,8 @@ bool waiting_for_icon_switch = false; bool show_icon_tool_icon = false; - public SpinButton (string? name = null, string tip = "", unichar key = '\0', uint modifier_flag = 0) { - base (null , tip, key, modifier_flag); + public SpinButton (string? name = null, string tip = "") { + base (null , tip); if (name != null) { base.name = (!) name; @@ -202,11 +202,11 @@ }); listener.signal_submit.connect (() => { - MainWindow.native_window.hide_text_input (); + TabContent.hide_text_input (); redraw (); }); - MainWindow.native_window.set_text_listener (listener); + TabContent.show_text_input (listener); } public void set_max (double max) {
--- a/libbirdfont/TabBar.vala +++ b/libbirdfont/TabBar.vala @@ -411,7 +411,7 @@ } // always close any pending text input if the user switches tab - MainWindow.native_window.hide_text_input (); + TabContent.hide_text_input (); if (index == SHOW_MENU) { MainWindow.get_menu ().show_menu = !MainWindow.get_menu ().show_menu; @@ -775,6 +775,7 @@ // tab label label = new Text (); + label.use_cache (false); label.set_text (t.get_label ()); text_height = 16 / scale; label.set_font_size (text_height);
--- a/libbirdfont/TabContent.vala +++ b/libbirdfont/TabContent.vala @@ -1,5 +1,5 @@ /* - Copyright (C) 2014 Johan Mattsson + Copyright (C) 2014 2015 Johan Mattsson This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as @@ -18,6 +18,11 @@ /** Interface for events from native window to the current tab. */ public class TabContent : GLib.Object { + + static Text text_input_label; + static LineTextArea text_input; + static Button text_input_button; + static bool text_input_visible = false; public static void zoom_in () { if (MenuTab.suppress_event) { @@ -88,6 +93,10 @@ if (FontDisplay.dirty_scrollbar) { GlyphCanvas.current_display.update_scrollbar (); FontDisplay.dirty_scrollbar = false; + } + + if (text_input_visible) { + draw_text_input (allocation, cr); } } } @@ -99,17 +108,24 @@ KeyBindings.add_modifier_from_keyval (keyval); - MainWindow.get_menu ().process_key_binding_events (keyval); - GlyphCanvas.current_display.key_press (keyval); + if (!text_input_visible) { + MainWindow.get_menu ().process_key_binding_events (keyval); + GlyphCanvas.current_display.key_press (keyval); + } else { + text_input.key_press (keyval); + } } public static void key_release (uint keyval) { if (MenuTab.suppress_event) { return; } - - GlyphCanvas.current_display.key_release (keyval); + KeyBindings.remove_modifier_from_keyval (keyval); + + if (!text_input_visible) { + GlyphCanvas.current_display.key_release (keyval); + } } public static void motion_notify (double x, double y) { @@ -117,7 +133,12 @@ return; } - GlyphCanvas.current_display.motion_notify (x, y); + if (!text_input_visible) { + GlyphCanvas.current_display.motion_notify (x, y); + } else { + text_input.motion (x, y); + GlyphCanvas.redraw (); + } } public static void button_release (int button, double x, double y) { @@ -129,6 +150,10 @@ MainWindow.get_menu ().button_release (button, x, y); } else { GlyphCanvas.current_display.button_release (button, x, y); + + if (text_input_visible) { + text_input.button_release (button, x, y); + } } } @@ -141,6 +166,11 @@ MainWindow.get_dialog ().button_press (button, x, y); } else if (!MainWindow.get_menu ().show_menu) { GlyphCanvas.current_display.button_press (button, x, y); + + if (text_input_visible) { + text_input.button_press (button, x, y); + text_input_button.button_press (button, x, y); + } } } @@ -244,8 +274,68 @@ } return uri; + } + + public static void draw_text_input (WidgetAllocation allocation, Context cr) { + cr.save (); + Theme.color (cr, "Background 4"); + cr.rectangle (0, 0, allocation.width, 51); + cr.fill (); + cr.restore (); + + Theme.text_color (text_input_label, "Background 1"); + + text_input_label.widget_x = 10; + text_input_label.widget_y = 17; + + text_input.allocation = allocation; + text_input.layout (); + text_input.widget_x = text_input_label.get_extent () + 20; + text_input.widget_y = 10; + text_input.width = allocation.width + - text_input_button.get_width () + - text_input_label.get_extent () + - 40; + + text_input_button.allocation = allocation; + text_input_button.widget_x = text_input.widget_x + text_input.width + 10; + text_input_button.widget_y = 10; + + text_input_label.draw (cr); + text_input.draw (cr); + text_input_button.draw (cr); + } + + public static void show_text_input (TextListener tl) { + text_input_label = new Text (tl.label); + text_input = new LineTextArea (20 * MainWindow.units); + text_input_button = new Button (tl.button_label); + + text_input.carret_is_visible = true; + + text_input.set_text (tl.default_text); + text_input.text_changed.connect ((text) => { + tl.signal_text_input (text); + }); + + text_input.enter.connect ((text) => { + tl.signal_submit (text); + text_input_visible = false; + GlyphCanvas.redraw (); + }); + + text_input_button.action.connect (() => { + tl.signal_submit (text_input.get_text ()); + }); + + text_input_visible = true; + GlyphCanvas.redraw (); + } + + public static void hide_text_input () { + text_input_visible = false; } } }
--- a/libbirdfont/Tool.vala +++ b/libbirdfont/Tool.vala @@ -28,6 +28,7 @@ public bool active = false; public bool selected = false; + Text icon_font; ImageSurface? icon = null; public signal void select_action (Tool selected); @@ -80,8 +81,10 @@ bool visible = true; /** Create tool with a certain name and load icon "name".png */ - public Tool (string? name = null, string tip = "", unichar key = '\0', uint modifier_flag = 0) { + public Tool (string? name = null, string tip = "") { this.tip = tip; + + icon_font = new Text (); scale = w / 111.0; // scale to 320 dpi @@ -89,9 +92,6 @@ set_icon ((!) name); this.name = (!) name; } - - this.key = key; - this.modifier_flag = modifier_flag; id = next_id; next_id++; @@ -179,10 +179,16 @@ } public void set_icon (string name) { - StringBuilder n = new StringBuilder (); - n.append (name); - n.append (".png"); - icon = Icons.get_icon (n.str); + bool found; + + icon_font = new Text ((!) name); + found = icon_font.load_font ("icons.bf"); + icon_font.use_cache (true); + icon_font.set_font_size (35); + + if (!found) { + warning ("Icon font for toolbox was not found."); + } } public bool is_active () { @@ -243,16 +249,9 @@ string background = "Tool Border 3"; cr.save (); - - if (unlikely (scale == 0)) { - warning ("Scale is zero."); - scale = 33 / 111.0; - } - - cr.scale (scale, scale); - - bgx = xt / scale; - bgy = yt / scale; + + bgx = xt; + bgy = yt; // Button in four states if (selected) { @@ -276,27 +275,23 @@ } Theme.color (cr, background); - draw_rounded_rectangle (cr, bgx, bgy, 34 / scale, 28 / scale, 4 / scale); + draw_rounded_rectangle (cr, bgx, bgy, 34, 28, 4); cr.fill (); - cr.set_line_width (1 / scale); + cr.set_line_width (1); Theme.color (cr, border); - draw_rounded_rectangle (cr, bgx, bgy, 34 / scale, 28 / scale, 4 / scale); + draw_rounded_rectangle (cr, bgx, bgy, 34, 28, 4); cr.stroke (); - - if (icon != null) { - ImageSurface i = (!) icon; - - if (likely (i.status () == Cairo.Status.SUCCESS)) { - iconx = bgx + w / scale / 2 - i.get_width () / 2; - icony = bgy + h / scale / 2 - i.get_height () / 2; + + iconx = bgx + w / 2 - icon_font.get_sidebearing_extent () / 2; + icony = bgy + h / 2 - icon_font.get_height () / 2; + + Theme.text_color (icon_font, "Button Foreground"); + + icon_font.widget_x = iconx; + icon_font.widget_y = icony; - cr.set_source_surface (i, iconx, icony); - cr.paint (); - } else { - warning (@"Falied to load icon for $name"); - } - } + icon_font.draw (cr); cr.restore (); }
--- a/libbirdfont/Toolbox.vala +++ b/libbirdfont/Toolbox.vala @@ -47,9 +47,7 @@ static double scale = 1; - public Toolbox (GlyphCanvas glyph_canvas, TabBar tab_bar) { - scale = Toolbox.allocation_width / 160.0; - + public Toolbox (GlyphCanvas glyph_canvas, TabBar tab_bar) { current_tool = new Tool ("no_icon"); press_tool = new Tool (null); @@ -109,6 +107,9 @@ if (w != allocation_width || allocation_height != h) { allocation_width = w; allocation_height = h; + + scale = Toolbox.allocation_width / 160.0; + Toolbox.redraw_tool_box (); } }
--- a/libbirdfont/ZoomTool.vala +++ b/libbirdfont/ZoomTool.vala @@ -23,7 +23,7 @@ Gee.ArrayList<Tab> views; public ZoomTool (string n) { - base (n, "Zoom", 'z'); + base (n, "Zoom"); views = new Gee.ArrayList<Tab> ();
diff --git resources/icons.bf(new)
--- /dev/null +++ b/resources/icons.bf @@ -1,1 +1,278 @@ + <?xml version="1.0" encoding="utf-8" standalone="yes"?> + <font> + <format>1.0</format> + + <postscript_name>BirdfontIcons</postscript_name> + <name>Birdfont Icons</name> + <subfamily>Regular</subfamily> + <bold>false</bold> + <italic>false</italic> + <full_name>Birdfont Icons</full_name> + <unique_identifier>JM: Birdfont Tool Box Icons</unique_identifier> + <version>Version 1.0</version> + <description>An icon font for the font editor Birdfont.</description> + <copyright>Copyright 2015 + GNU Lesser General Public License</copyright> + <weight>400</weight> + + <horizontal> + <top_limit>84.0000000000</top_limit> + <top_position>76.8642803204</top_position> + <x-height>8.8789808917</x-height> + <base_line>0.0000000000</base_line> + <bottom_position>-20.0000000000</bottom_position> + <bottom_limit>-27.0000000000</bottom_limit> + </horizontal> + + <grid width="1.0000"/> + <grid width="2.0000"/> + <grid width="4.0000"/> + + <background scale="1.0000" /> + + <collection unicode="U+5f"> + <selected id="1"/> + <glyph id="1" left="-28" right="28"> + </glyph> + </collection> + <collection unicode="U+61"> + <selected id="1"/> + <glyph id="1" left="-28" right="28"> + </glyph> + </collection> + <collection unicode="U+62"> + <selected id="1"/> + <glyph id="1" left="-28" right="28"> + <path stroke="0" skew="0" data="S -15.8755304102,16.4363507779 L -15.8755304102,16.4363507779" /> + <path stroke="0" skew="0" data="S -17.4370579915,63.8026874116 L -17.4370579915,63.8026874116 O" /> + </glyph> + </collection> + <collection unicode="U+63"> + <selected id="1"/> + <glyph id="1" left="-28" right="28"> + </glyph> + </collection> + <collection unicode="U+64"> + <selected id="1"/> + <glyph id="1" left="-28" right="28"> + </glyph> + </collection> + <collection unicode="U+65"> + <selected id="1"/> + <glyph id="1" left="-28" right="28"> + </glyph> + </collection> + <collection unicode="U+66"> + <selected id="1"/> + <glyph id="1" left="-28" right="28"> + </glyph> + </collection> + <collection name="foresight"> + <selected id="1"/> + <glyph id="1" left="-28" right="44.054140127388528"> + <path stroke="0" skew="0" data="B 1.7352501208,51.1497314336 M 1.1409314853,49.8422304356 M -5.3965735046,37.7181302725 M -5.5156274136,37.5990763634 M -5.5156274136,37.3613489092 C -10.5595573727,20.2818675093 -12.7015387894,9.4281448249 -14.3115432183,2.5342768720 M -14.6679442176,0.8701846928 M -13.0038520384,0.7511307836 M -5.6343009588,0.3947297844 M -4.9211185962,0.3947297844 M -4.4456636878,0.9890484198 C 3.8827468145,12.2591174584 13.9097865406,20.7964618657 25.6268592658,27.2579321066 M 26.3400416282,27.6143331060 M 26.4590955373,28.4463791955 M 26.5781494464,41.7591166296 M 26.5781494464,42.9477539004 M 25.3895121756,43.1854813546 C 25.3895121756,43.1854813546 18.5789439226,44.3706953502 14.0974581019,45.4438921693 C 12.3494196042,45.8624826707 9.5305045071,47.0266625410 7.2033619308,48.1777578924 C 4.8762193546,49.3288532436 3.0431314827,50.4361687070 3.0431314827,50.4361687070 M 1.7356304847,51.1493510696 M 1.7352501208,51.1497314336" /> + <path stroke="0" skew="0" data="B -11.1020324049,3.4853768707 C -9.5168657405,10.4284258792 -7.5605399563,20.4386535198 -2.9004352357,36.2917655474 M -2.9004352357,36.4108194564 C -2.8662024823,36.5329162769 -2.8178962636,36.5260697262 -2.7813813267,36.6485469105 C -0.8795616932,40.1748374809 1.0222579402,43.7011280512 2.9240775736,47.2274186215 C 2.9240141796,47.2273552275 2.9239507857,47.2272918336 2.9238873917,47.2272284396 C 3.6395421198,46.8346928673 4.2330239545,46.5043467969 5.8954805689,45.6819999875 C 8.2971364384,44.4940473716 11.2285251485,43.1361481533 13.5027591027,42.5915430832 C 17.6790028720,41.5914522107 22.5539371384,40.7720342034 23.7250396323,40.5708597225 M 23.4873121782,29.1599419219 C 12.0678361892,22.7190874058 2.0357756592,14.2266639783 -6.2286195942,3.2476494166 M -9.4948507735,3.4680384229 C -8.6198048572,5.9359548336 -6.8796276693,10.5766917379 -5.3000751764,14.0093240306 C -2.4664019591,20.1674160037 0.4748762132,24.8393880787 0.4036720862,24.6880032360 C 2.6550842047,26.3646093884 3.1176067395,28.9240021782 2.9204641163,31.1637751606 C 0.4798589807,30.1822840842 -0.9150116112,27.5883162133 -0.8880438088,25.2625429472 C -0.8880438088,25.2625429472 -4.3657492269,19.7384035307 -6.8750861240,14.0347703773 C -8.4322032682,10.4954376537 -10.2719000680,5.6928510460 -11.1020324049,3.4853768707" /> + <path stroke="0" skew="0" data="B 29.5493622597,56.6174628797 C 29.7474684715,57.0532965457 29.9455746833,57.4891302117 30.1436808951,57.9249638776 C 29.6682259868,58.0834488471 29.1927710784,58.2419338166 28.7173161701,58.4004187861 C 22.6156448462,60.5399658737 16.5139735223,62.6795129613 10.4123021984,64.8190600488 C 10.0160897747,64.9775450183 9.6198773511,65.1360299877 9.2236649274,65.2945149572 C 9.0255587156,64.8983025336 8.8274525038,64.5020901100 8.6293462920,64.1058776863 M 6.2522619321,58.1625011499 C 6.2521985381,58.1625645439 6.2521351442,58.1626279379 6.2520717502,58.1626913319 C 5.9747230536,57.6872364235 5.6973743571,57.2117815151 5.4200256606,56.7363266068 C 3.9936609355,54.4779157921 2.5672962104,52.2195049773 1.1409314853,49.9610941626 M 3.5182060272,48.4158657105 M 7.0841178398,54.2401883379 C 9.1581662592,52.8021084039 11.7426630682,51.1122655868 14.4536689194,50.1988216169 C 17.7246465433,49.0967171392 21.0143380723,49.1400786270 24.0816308136,48.7724568918 M 23.7252298143,41.6406332664 M 26.5779592645,41.5215793573 M 26.9343602638,49.8420402536 C 26.8919569619,49.8674342288 26.7674657219,49.9338721731 26.8071503582,49.9182221793 C 27.7212209921,52.1513024127 28.6380736854,54.3590520650 29.5493622597,56.6174628797" /> + <path stroke="0" skew="0" data="B 15.4047689181,52.9324971579 C 13.2237591708,53.6673594096 10.6537957932,55.0848270522 8.8069016564,56.3207143514 C 8.6765661551,56.4013037537 8.5003842887,56.5766633932 8.2855596512,56.6430719605 C 9.0737163183,58.3382490219 9.8618729854,60.0334260832 10.6500296525,61.7286031445 M 26.3400416282,56.2608716984 C 25.6483751530,54.6753594020 24.9156647087,53.1308910748 24.2650422025,51.5043348093 C 21.1934528293,51.8097465832 17.9738324608,52.0669058959 15.4047689181,52.9324971579" /> + </glyph> + </collection> + <collection unicode="U+67"> + <selected id="1"/> + <glyph id="1" left="-28" right="28"> + </glyph> + </collection> + <collection unicode="U+68"> + <selected id="1"/> + <glyph id="1" left="-28" right="28"> + </glyph> + </collection> + <collection unicode="U+69"> + <selected id="1"/> + <glyph id="1" left="-28" right="28"> + </glyph> + </collection> + <collection unicode="U+6a"> + <selected id="1"/> + <glyph id="1" left="-28" right="28"> + </glyph> + </collection> + <collection unicode="U+6b"> + <selected id="1"/> + <glyph id="1" left="-28" right="28"> + </glyph> + </collection> + <collection unicode="U+6c"> + <selected id="1"/> + <glyph id="1" left="-28" right="28"> + </glyph> + </collection> + <collection unicode="U+6d"> + <selected id="1"/> + <glyph id="1" left="-28" right="28"> + </glyph> + </collection> + <collection name="move"> + <selected id="1"/> + <glyph id="1" left="-28" right="44.833598726114666"> + <path stroke="0" skew="0" data="B 9.0778264331,66.4648436306 M 18.9215764331,51.8711436306 M 20.9528264331,49.0273436306 M 17.4528264331,49.0273436306 M 9.4215764331,49.0273436306 M 9.4215764331,38.9648436306 M 9.4215764331,36.9335436306 M 22.2390525478,36.9335436306 M 22.2390525478,33.3398436306 M 9.4215764331,33.3398436306 M 9.4215764331,30.4961436306 M 9.4215764331,20.5585436306 M 17.7653264331,20.5585436306 M 21.2965764331,20.5585436306 M 19.2340764331,17.7148436306 M 9.1715764331,3.1523436306 M 7.7028264331,0.9961436306 M 6.2340764331,3.1523436306 M -3.7034235669,17.7148436306 M -5.6096735669,20.5585436306 M -2.2346735669,20.5585436306 M 5.7965764331,20.5585436306 M 5.7965764331,30.4961436306 M 5.7965764331,33.3398436306 M -6.6409235669,33.3398436306 M -6.6409235669,24.9648436306 M -6.6409235669,21.4648436306 M -9.4534235669,23.4961436306 M -24.0471735669,33.5585436306 M -26.2034235669,35.0273436306 M -24.0471735669,36.4961436306 M -9.4534235669,46.4335436306 M -6.6409235669,48.3711436306 M -6.6409235669,44.9648436306 M -6.6409235669,36.9335436306 M 5.7965764331,36.9335436306 M 5.7965764331,38.9648436306 M 5.7965764331,49.0273436306 M -2.5784235669,49.0273436306 M -5.9534235669,49.0273436306 M -4.0471735669,51.8711436306 M 6.0153264331,66.4648436306 M 7.6090764331,68.5898436306 M 9.0778264331,66.4648436306" /> + <path stroke="0" skew="0" data="B 0.8278264331,52.6523436306 M 14.0465764331,52.6523436306 M 7.4840764331,62.1523436306 M 0.8278264331,52.6523436306" /> + <path stroke="0" skew="0" data="B 24.6715764331,46.7773436306 M 39.2653264331,36.7148436306 M 41.4215764331,35.1211436306 M 39.2653264331,33.6523436306 M 24.6715764331,23.7148436306 M 21.8590764331,21.8085436306 M 21.8590764331,25.3085436306 M 21.8590764331,45.3085436306 M 21.8590764331,48.7148436306 M 24.6715764331,46.7773436306" /> + <path stroke="0" skew="0" data="B 25.4528264331,28.6835436306 M 34.9528264331,35.2461436306 M 25.4528264331,41.9335436306 M 25.4528264331,28.6835436306" /> + <path stroke="0" skew="0" data="B -19.8596735669,35.0273436306 M -10.2659235669,28.3398436306 M -10.2659235669,41.5898436306 M -19.8596735669,35.0273436306" /> + <path stroke="0" skew="0" data="B 7.7028264331,7.3085436306 M 14.3903264331,16.9335436306 M 1.1715764331,16.9335436306 M 7.7028264331,7.3085436306" /> + </glyph> + </collection> + <collection name="move_background"> + <selected id="1"/> + <glyph id="1" left="-28" right="44.817675159235684"> + <path stroke="0" skew="0" data="B -20.8832904665,33.1925814297 C -20.8832904665,17.3819981760 -8.1779112752,4.5445546897 7.6326836554,4.5445546897 C 23.4432669092,4.5445546897 36.2806636883,17.3819981760 36.2806636883,33.1925814297 C 36.2806636883,49.0031646835 23.4412059889,61.9638171751 7.6326836554,61.7085438749 T C -6.7486881000,61.4763159568 -20.8832904665,49.0031646835 -20.8832904665,33.1925814297" /> + <path stroke="0" skew="0" data="B -19.3451152333,32.9015857197 M -17.3037905485,31.4937755922 M -7.0971671243,24.3843344484 M -4.4223278820,22.5541812827 M -4.4223278820,25.7921445758 M -4.4223278820,39.8702458506 M -4.4223278820,43.0378186376 M -7.0267766178,41.2780559781 M -17.3037905485,34.3093958472 M -19.3451152333,32.9015857197" /> + <path stroke="0" skew="0" data="B 40.7255376210,33.2105010095 C 40.7255376210,15.1167584644 25.9466906156,0.3379348126 7.8529714241,0.3379348126 C -10.2407594443,0.3379348126 -24.8875883947,15.1167584644 -24.8875883947,33.2105010095 C -24.8875883947,51.3042435546 -10.2407594443,65.9510033786 7.8529714241,65.9510033786 C 25.9466906156,65.9510033786 40.7255376210,51.3042435546 40.7255376210,33.2105010095" /> + <path stroke="0" skew="0" data="B -5.6189664903,31.2122135667 M 8.1775727590,31.2122135667 M 8.1775727590,34.5909578727 M -5.6189664903,34.5909578727 M -5.6189664903,31.2122135667" /> + <path stroke="0" skew="0" data="B -13.1815644026,32.4704796353 M -7.6207143990,36.2715669795 M -7.6207143990,28.6693922911 M -13.1815644026,32.4704796353" /> + <path stroke="0" skew="0" data="B 8.6880678262,5.9748620216 M 10.0958779537,8.0161867064 M 17.2053190975,18.2228101306 M 19.0354722632,20.8976493729 M 15.7975089700,20.8976493729 M 1.7194076952,20.8976493729 M -1.4481650916,20.8976493729 M 0.3115975677,18.2932006370 M 7.2802576988,8.0161867064 M 8.6880678262,5.9748620216" /> + <path stroke="0" skew="0" data="B 8.7584583326,11.9580550633 M 4.9573709884,17.5189050669 M 12.5595456768,17.5189050669 M 8.7584583326,11.9580550633" /> + <path stroke="0" skew="0" data="B 10.3774399792,19.7010107645 M 10.3774399792,33.4975500138 M 6.9986956733,33.4975500138 M 6.9986956733,19.7010107645 M 10.3774399792,19.7010107645" /> + <path stroke="0" skew="0" data="B 7.3231512539,57.7748651954 M 0.3544911229,47.4978512648 M -1.4052715365,44.8934025289 M 1.7623012503,44.8934025289 M 15.8404025251,44.8934025289 M 19.0783658184,44.8934025289 M 17.2482126526,47.5682417712 M 10.1387715089,57.7748651954 M 8.7309613814,59.8161898802 M 7.3231512539,57.7748651954" /> + <path stroke="0" skew="0" data="B 12.6024392320,48.2721468348 M 5.0002645436,48.2721468348 M 8.8013518877,53.8329968384 M 12.6024392320,48.2721468348" /> + <path stroke="0" skew="0" data="B 7.0415892284,46.0900411373 M 7.0415892284,32.2935018880 M 10.4203335344,32.2935018880 M 10.4203335344,46.0900411373 M 7.0415892284,46.0900411373" /> + <path stroke="0" skew="0" data="B 35.8304529874,32.9235505464 M 33.7891283026,34.3313606739 M 23.5825048784,41.4408018176 M 20.9076656361,43.2709549833 M 20.9076656361,40.0329916901 M 20.9076656361,25.9548904153 M 20.9076656361,22.7873176285 M 23.5121143719,24.5470802878 M 33.7891283026,31.5157404189 M 35.8304529874,32.9235505464" /> + <path stroke="0" skew="0" data="B 29.6669021565,33.3546566306 M 24.1060521531,29.5535692865 M 24.1060521531,37.1557439749 M 29.6669021565,33.3546566306" /> + <path stroke="0" skew="0" data="B 22.1043042444,34.6129226994 M 8.3077649951,34.6129226994 M 8.3077649951,31.2341783934 M 22.1043042444,31.2341783934 M 22.1043042444,34.6129226994" /> + </glyph> + </collection> + <collection name="move_canvas"> + <selected id="1"/> + <glyph id="1" left="-28" right="44.524681528662434"> + <path stroke="0" skew="0" data="B 10.6961492707,63.3315307860 C 11.4129992707,62.5180207860 11.7528992707,61.5258607860 11.9773992707,60.4565307860 C 12.4263992707,58.3178807860 12.4019392707,55.7530007860 12.5711492707,53.0815312860 C 12.7745892707,49.8714912860 13.1609692707,46.6222012860 13.5711492707,43.7690312860 C 14.4111992707,45.9815312860 15.1462492707,47.5688312860 15.9773992707,50.4252812860 C 16.7020192707,52.9156212860 17.3379792707,55.4965007860 18.3836492707,57.6440307860 C 18.9064792707,58.7177907860 19.5269992707,59.7083607860 20.4148992707,60.4565307860 C 21.3027992707,61.2047007860 22.4705192707,61.6929307860 23.7586492707,61.7065307860 C 25.0884192707,61.7203207860 26.3680892707,61.1124307860 26.9773992707,60.0815307860 C 27.5867492707,59.0506307860 27.6128392707,57.8999007860 27.5086492707,56.6752807860 C 27.3002792707,54.2260312860 26.3964992707,51.2385912860 25.6023992707,48.0815312860 C 24.8214792707,44.9768612860 24.4161392707,41.8109712860 24.1648992707,38.9565312860 C 25.2212392707,40.4025512860 26.1402792707,41.9518912860 26.8836492707,43.5502812860 C 28.1589392707,46.2924012860 29.0180292707,48.8934712860 30.0711492707,50.6440312860 M 30.2898992707,51.0190312860 M 30.6648992707,51.1752812860 C 32.3143192707,51.8919812860 33.7798892707,52.1897012860 35.1023992707,51.8002812860 C 36.4249092707,51.4108612860 37.3117792707,50.2357812860 37.6336492707,48.9252812860 C 38.2773892707,46.3042912860 37.4930592707,42.8267612860 35.9148992707,38.4877812860 C 35.0725992707,36.1720112860 33.8146092707,32.8334212860 32.2273992707,29.7065312860 C 30.7403492707,26.7769712860 28.9945292707,24.0903412860 26.8211492707,22.4877812860 C 25.9592892707,21.1950112860 25.2416492707,18.4521812860 24.6648992707,15.6752812860 C 24.0881492707,12.8983812860 23.6318892707,10.1092712860 22.6336492707,8.1128312860 C 22.6053892707,8.0562312860 22.5959992707,7.0502312860 22.7586492707,5.8940312860 C 22.8399992707,5.3159312860 22.9489992707,4.6783312860 22.9148992707,4.0190312860 C 22.8808292707,3.3597312860 22.6895992707,2.5750312860 22.0711492707,1.9565312860 C 21.4024492707,1.2878312860 20.6563592707,1.0706312860 19.7273992707,0.8315312860 C 18.7984392707,0.5924312860 17.6952992707,0.4323312860 16.4461492707,0.3002312860 C 13.9478492707,0.0360312860 10.8682292707,-0.0579687140 7.7898992707,0.0190312860 C 4.7115692707,0.0961312860 1.6462492707,0.3329312860 -0.8976007293,0.7378312860 C -2.1695307293,0.9402312860 -3.3138407293,1.1858312860 -4.2726007293,1.4878312860 C -5.2313607293,1.7897312860 -6.0256007293,2.0845312860 -6.6788507293,2.7378312860 C -7.2834007293,3.3423312860 -7.0955507293,3.5342312860 -7.1163507293,3.7065312860 C -7.1371507293,3.8788312860 -7.1143507293,4.0143312860 -7.1163507293,4.1752312860 C -7.1203507293,4.4971312860 -7.1264507293,4.8806312860 -7.1163507293,5.3315312860 C -7.0962507293,6.2333312860 -7.0759507293,7.3969312860 -7.1476507293,8.6440312860 C -7.2910107293,11.1381812860 -7.8973807293,13.8625212860 -9.1789007293,15.1440312860 C -13.7380908293,19.7031812860 -15.0554208293,20.7080412860 -18.7101508293,24.3627812860 C -20.0175508293,25.6701912860 -20.4994008293,27.2998412860 -20.8976508293,28.6127812860 C -21.2959008293,29.9257212860 -21.6623408293,30.9086912860 -22.1789008293,31.4252812860 C -22.3572008293,31.6035612860 -22.3530008293,31.6325612860 -22.4289008293,31.7377812860 C -22.5048208293,31.8430012860 -22.5869007993,31.9973712860 -22.6789007993,32.1440312860 C -22.8629307993,32.4373612860 -23.0891907993,32.8033412860 -23.2726507993,33.2377812860 C -23.4561107993,33.6722212860 -23.6182507993,34.1523712860 -23.6476507993,34.7377812860 C -23.6770707993,35.3231912860 -23.5156607993,36.0885112860 -22.9601507993,36.6440312860 C -21.8077308293,37.7964712860 -20.8413408293,38.6394412860 -19.8039008293,39.1440312860 C -18.7664608293,39.6486212860 -17.5405908293,39.7234612860 -16.5226508293,39.2690312860 C -14.5427908293,38.3851912860 -13.2372707293,36.3336712860 -10.9914007293,33.3627812860 C -9.4804807293,32.3675412860 -8.4690207293,31.7284512860 -7.1164007293,30.5502812860 C -6.9519507293,31.0319712860 -6.8926507293,31.5893712860 -6.8976507293,32.2690312860 C -6.9066507293,33.5634012860 -7.2350807293,35.2113112860 -7.7726507293,36.9877812860 C -8.8477807293,40.5407312860 -10.6664007293,44.6460612860 -11.6164007293,48.4877812860 C -12.2693007293,51.1279312860 -12.8946007293,53.5333012860 -12.6164007293,55.7690307860 C -12.4773007293,56.8869007860 -12.0836507293,57.9895507860 -11.2726507293,58.8627807860 C -10.4616507293,59.7360107860 -9.3182807293,60.3153607860 -7.8976507293,60.6752807860 C -6.8023307293,60.9527907860 -5.6593207293,60.8365807860 -4.7726507293,60.3315307860 C -3.8859807293,59.8264807860 -3.2722807293,59.0553107860 -2.8039007293,58.1752807860 C -1.8671307293,56.4152207860 -1.4119507293,54.1513212860 -0.8976507293,51.7690312860 C -0.3370007293,49.1720712860 0.8122492707,46.0211912860 1.9773492707,43.1440312860 C 2.1311592707,46.2581712860 2.3457992707,49.0978512860 2.3210992707,52.2690312860 C 2.2986692707,55.1561707860 2.1372892707,57.9644007860 2.6335992707,60.3002807860 C 2.8817492707,61.4682207860 3.3118192707,62.5853807860 4.1648492707,63.4252807860 C 5.0178792707,64.2651808160 6.2828192707,64.7012808160 7.6648492707,64.6752808160 C 8.8745692707,64.6526808160 9.9792992707,64.1450408160 10.6961492707,63.3315307860" /> + <path stroke="0" skew="0" data="B 6.0709492707,61.4877807860 C 5.7604292707,61.1820407860 5.4739992707,60.6052007860 5.2896992707,59.7377807860 C 4.9210892707,58.0029307860 5.0166992707,55.2552407860 5.0396992707,52.3002812860 C 5.0810592707,46.9801012860 4.8143292707,40.4747812860 4.4771992707,37.0502812860 M 4.0084492707,32.3315312860 M 1.8834492707,36.5815312860 C 0.5010792707,39.3639612860 -2.4576907293,46.1281212860 -3.5540507293,51.2065312860 C -4.0638507293,53.5679412860 -4.5695307293,55.6901207860 -5.2103007293,56.8940307860 C -5.5306807293,57.4959907860 -5.8504707293,57.8362207860 -6.1165507293,57.9877807860 C -6.3826307293,58.1393807860 -6.6384507293,58.1951707860 -7.2103007293,58.0502807860 C -8.2765507293,57.7801507860 -8.8995307293,57.4209507860 -9.2728007293,57.0190307860 C -9.6460707293,56.6171107860 -9.8411507293,56.1316907860 -9.9290507293,55.4252807860 C -10.1048507293,54.0124612860 -9.6104807293,51.7731812860 -8.9603007293,49.1440312860 C -8.0988807293,45.6605512860 -6.3280307293,41.5660112860 -5.1790507293,37.7690312860 C -4.6045607293,35.8705412860 -4.1599007293,34.0381712860 -4.1478007293,32.3002812860 C -4.1357107293,30.5623912860 -4.6077907293,28.8376512860 -5.8353007293,27.5502812860 M -6.8040507293,26.5190312860 M -7.7728007293,27.5502812860 C -10.0626907293,29.8810212860 -10.3400107293,29.6612612860 -12.6478007293,31.2065312860 M -12.8353007293,31.3315312860 M -12.9915507293,31.5190312860 C -15.3741408293,34.6507312860 -16.9038208293,36.4508612860 -17.6165508293,36.7690312860 C -17.9729108293,36.9281712860 -18.0891208293,36.9318612860 -18.6165508293,36.6753312860 C -19.1214808293,36.4297412860 -19.9307808293,35.8154112860 -20.9290508293,34.8315812860 C -20.9197508293,34.7299912860 -20.8428708293,34.5402712860 -20.7415508293,34.3003312860 C -20.6348908293,34.0477612860 -20.4896108293,33.7777312860 -20.3665508293,33.5815812860 C -20.3140508293,33.4978312860 -20.2776508293,33.4140312860 -20.2415508293,33.3628312860 C -20.1056708293,33.2269812860 -20.1732508293,33.2802312860 -20.2102508293,33.3315312860 C -19.0432808293,32.1437712860 -18.6876308293,30.6587612860 -18.3040008293,29.3940312860 C -17.9168108293,28.1175512860 -17.5472908293,27.0435712860 -16.8040008293,26.3002812860 C -13.2021507293,22.6984212860 -11.8425907293,21.6513312860 -7.2415007293,17.0502812860 C -5.0480907293,14.8568912860 -4.5869807293,11.5487712860 -4.4290007293,8.8002312860 C -4.3500007293,7.4260312860 -4.3773007293,6.1797312860 -4.3977007293,5.2690312860 C -4.4047007293,4.9476312860 -4.3957007293,4.7358312860 -4.3977007293,4.5190312860 C -4.2017707293,4.4024312860 -4.0194207293,4.2576312860 -3.4602007293,4.0815312860 C -2.6968807293,3.8411312860 -1.6756707293,3.6137312860 -0.4914507293,3.4252312860 C 1.8769892707,3.0483312860 4.9015992707,2.8128312860 7.8835492707,2.7378312860 C 10.8654992707,2.6630312860 13.8392092707,2.7420312860 16.1647992707,2.9878312860 C 17.3275892707,3.1106312860 18.3129792707,3.2694312860 19.0397992707,3.4565312860 C 19.7666192707,3.6436312860 20.2318992707,3.9610312860 20.1647992707,3.8940312860 C 20.1187992707,3.8480312860 20.1803992707,3.8718312860 20.1960992707,4.1752312860 C 20.2117792707,4.4787312860 20.1475992707,4.9754312860 20.0710992707,5.5190312860 C 19.9181492707,6.6062312860 19.5107092707,7.8982312860 20.2273492707,9.3315312860 C 20.8757392707,10.6283212860 21.4228092707,13.4173312860 22.0085992707,16.2377812860 C 22.5943892707,19.0582312860 23.2028692707,21.9354512860 24.5710992707,23.9877812860 M 24.7273492707,24.2377812860 M 24.9460992707,24.3940312860 C 26.4471492707,25.3599312860 28.2907192707,27.9719212860 29.7898492707,30.9252812860 C 31.2889792707,33.8786412860 32.5567292707,37.1519512860 33.3835992707,39.4252812860 C 34.8842392707,43.5511012860 35.3544992707,46.8606712860 35.0085992707,48.2690312860 C 34.8356492707,48.9732112860 34.6815192707,49.1004012860 34.3210992707,49.2065312860 C 34.0224392707,49.2944712860 33.1682292707,49.1362712860 32.1960992707,48.8002812860 C 31.4913392707,47.4983312860 30.6187292707,45.1170112860 29.3523492707,42.3940312860 C 27.9999692707,39.4861512860 26.2040392707,36.3327812860 23.3835992707,34.0190312860 M 21.1335992707,32.1752812860 M 21.1648992707,35.0815312860 C 21.1912592707,38.5348112860 21.7166992707,43.8498912860 22.9461492707,48.7377812860 C 23.7592892707,51.9705212860 24.6577492707,54.9733807860 24.8211492707,56.8940307860 C 24.9028492707,57.8543607860 24.7521592707,58.5060307860 24.6336492707,58.7065307860 C 24.5151392707,58.9070807860 24.5048692707,58.9947807860 23.7898992707,58.9877807860 C 23.0953992707,58.9804207860 22.6362092707,58.7599207860 22.1648992707,58.3627807860 C 21.6935892707,57.9656407860 21.2418092707,57.3204707860 20.8211492707,56.4565307860 C 19.9798192707,54.7286607860 19.3481792707,52.2070912860 18.6023992707,49.6440312860 C 17.1193692707,44.5472312860 15.2492292707,39.7081612860 14.2898992707,37.7065312860 M 12.4773992707,33.9252812860 M 11.7273992707,38.0815312860 C 11.2649892707,40.6474312860 10.2208992707,47.0795712860 9.8523992707,52.8940312860 C 9.6757392707,55.6830607860 9.6655192707,58.2537307860 9.3211492707,59.8940307860 C 9.1489592707,60.7141807860 8.9072992707,61.2751907860 8.6648992707,61.5502807860 C 8.4224992707,61.8253707860 8.2150192707,61.9451307860 7.6023992707,61.9565307860 C 7.0919159373,61.8002807860 6.3814692707,61.7935207860 6.0709492707,61.4877807860" /> + </glyph> + </collection> + <collection unicode="U+6e"> + <selected id="1"/> + <glyph id="1" left="-28" right="28"> + </glyph> + </collection> + <collection unicode="U+6f"> + <selected id="1"/> + <glyph id="1" left="-28" right="28"> + </glyph> + </collection> + <collection unicode="U+70"> + <selected id="1"/> + <glyph id="1" left="-28" right="28"> + </glyph> + </collection> + <collection name="pen_tool"> + <selected id="1"/> + <glyph id="1" left="-28" right="40.883429529426067"> + <path stroke="0" skew="0" data="B 11.6640716561,62.5973545136 C 14.4605516561,62.4310545136 17.9232316561,61.5632545036 21.3203216561,59.7223545036 C 25.8497716561,57.2678545036 30.1982316561,52.9441545036 31.8515716561,46.0973544036 C 33.2817716561,40.1748544036 33.7285116561,38.0312544036 33.8828216561,37.2223544036 C 33.9021216561,37.1212544036 33.9334216561,37.0221544036 33.9453216561,36.9411544036 C 33.9574216561,36.8604544036 33.9935216561,36.8612544036 33.9766216561,36.5661544036 C 33.9724216561,36.4924544036 33.9531216561,36.3722544036 33.8829216561,36.1598544036 C 33.8654216561,36.1067544036 33.8205916561,36.0038544036 33.8204216561,36.0035544036 C 33.8202516561,36.0032544036 33.6643616561,35.7538544036 33.6641716561,35.7535544036 C 33.6639716561,35.7534544036 33.3518916561,35.4412544036 33.3516716561,35.4411544036 C 33.3515216561,35.4411544036 33.1527216561,35.3498544036 33.0079216561,35.2848544036 M 16.7266716561,11.0035544036 M 16.8930761062,11.1885588706 D 16.7873541412,11.0418940443 16.7315933085,10.9695074437 16.6641716561,10.9095544036 T D 16.6049236780,10.8568696016 16.7946688980,11.0759004115 16.8599175190,11.1590734155 D 16.7551722389,11.0117094733 16.6930654840,10.9457611690 16.6328716561,10.8785544036 T D 16.5872748359,10.8276452837 16.7452459340,11.0220349244 16.8014330729,11.0937751849 D 16.6945768117,10.9479347083 16.6291518640,10.8850009770 16.5703716561,10.8165544036 T D 16.5494133073,10.7921494685 16.5118412009,10.7538396351 16.4825759734,10.7224822509 D 16.3458117158,10.6042314876 16.2339890934,10.5854942085 16.1953716561,10.5039544036 T D 16.1672552678,10.4445873151 16.3535185305,10.5792796051 16.4325919678,10.6169422059 D 16.2716372988,10.5345935587 16.1727877921,10.4174337639 16.1016716561,10.4729544036 T D 16.0391770847,10.5217441548 16.2321688980,10.6393004115 16.2974175190,10.7224734155 D 16.1926722389,10.5751094733 16.0649023886,10.5320106824 16.0703716561,10.4419544036 T D 16.0743536927,10.3763866839 16.2285185305,10.5172796051 16.3075919678,10.5549422059 D 16.1466372988,10.4725935587 16.0601315136,10.4452253596 15.9766716561,10.4109544036 T M 3.0391716561,5.0984544036 M 3.0391716561,5.0674544036 M 1.7579216561,4.5361544036 M -7.9920783439,0.5361544036 C -8.2425083439,0.3401544036 -8.4628683439,0.2204544036 -8.5858283439,0.1924544036 C -8.7640183439,0.1524544036 -8.8414783439,0.1924544036 -8.9295783439,0.1924544036 C -9.1058083439,0.1824544036 -9.2420783439,0.1924544036 -9.2420783439,0.1924544036 M -9.4736737025,0.3300455254 D -9.6436540405,0.3916441443 -9.7300868147,0.4231252125 -9.8046283439,0.4739544036 T M -10.4921283439,0.9427544036 M -11.3358783439,1.2551544036 M -11.2165848858,1.9264742447 D -11.2406456654,2.1056634855 -11.2421783439,2.1962321988 -11.2421783439,2.2864544036 T M -11.2421783439,2.3174544036 M -10.6171783439,12.5986544036 M -10.5234783439,14.0674544036 M -10.4921783439,14.0674544036 M -9.1884300287,31.5832722520 D -9.3082009172,31.7187072527 -9.5039222114,32.0270325910 -9.5545339412,32.1987664815 T D -9.6051456710,32.3705003720 -9.5965435041,32.7360956694 -9.5807366981,32.9144330497 T D -9.5727711452,33.0043029346 -9.4908804325,33.1697490651 -9.4609283439,33.2548544036 T C -9.3825706574,33.4774985577 -9.2691583439,33.5610544036 -9.1171783439,33.8174544036 C -8.9651983439,34.0737544036 -8.7777683439,34.3960544036 -8.5234283439,34.8174544036 C -8.0147483439,35.6604544036 -7.2887483439,36.8348544036 -6.4609283439,38.1924544036 C -4.8052883439,40.9076544036 -2.6435983439,44.4340544036 -0.4921783439,47.9424544036 C 3.8106916561,54.9594545036 8.0390716561,61.8798545136 8.1892823051,62.0839080315 D 8.3170378150,62.2118386177 8.6215838651,62.4057819522 8.7809156144,62.4874365294 T D 8.8612079567,62.5285848711 9.0448451456,62.5474500176 9.1328216561,62.5674545136 T C 9.5022081802,62.6514472885 9.8949916561,62.6194545136 10.3203216561,62.6294545136 C 10.7456516561,62.6373545136 11.1979916561,62.6243545136 11.6640716561,62.5973545136" /> + <path stroke="0" skew="0" data="B 1.9765716561,46.4107544036 C -0.1742083439,42.9033544036 -2.3389683439,39.4030544036 -3.9921783439,36.6920544036 C -4.7310183439,35.4803544036 -5.3194683439,34.4643544036 -5.8046783439,33.6607544036 C -0.7580983439,32.7041544036 4.2740416561,30.9274544036 8.3828216561,27.8170544036 C 9.3991816561,27.0475544036 10.3476916561,26.1943544036 11.2265716561,25.2544544036 C 11.3462016561,25.1265544036 11.4848316561,25.0106544036 11.6015716561,24.8794544036 C 11.6316716561,24.8474544036 11.6654716561,24.8174544036 11.6952716561,24.7854544036 C 14.5265216561,21.7180544036 15.7638916561,18.3488544036 16.3515216561,15.7854544036 C 16.3535216561,15.7764544036 16.3495216561,15.7644544036 16.3515216561,15.7544544036 C 16.3605216561,15.7154544036 16.3738216561,15.6684544036 16.3828216561,15.6294544036 M 30.8828216561,37.3794544036 C 30.7144216561,38.1995544036 30.3188316561,39.9817544036 29.0078216561,45.4107544036 C 27.5557616561,51.4240544036 23.9123716561,55.0423545036 19.9453216561,57.1920545036 C 16.2631816561,59.1873545036 12.4151716561,59.7435545036 10.1015716561,59.6294545036 C 7.3932383227,55.2232211369 6.0586416561,53.0676545036 1.9765716561,46.4107544036" /> + <path stroke="0" skew="0" data="B -6.5859783439,30.8172544036 M -7.6172283439,13.7859544036 C -6.3351683439,13.6137544036 -4.7570483439,13.2944544036 -3.1484783439,12.5672544036 C -1.2377983439,11.7033544036 0.6841816561,10.1635544036 1.9452716561,7.7546544036 M 13.9140216561,12.6922544036 C 13.3574416561,17.0733544036 11.7009916561,20.4530544036 9.2890216561,23.0984544036 C 9.1517516561,23.2489544036 8.9936216561,23.3901544036 8.8515216561,23.5359544036 C 8.6651816561,23.7137544036 8.4889116561,23.8930544036 8.2890216561,24.0672544036 C 7.8892416561,24.4155544036 7.4646116561,24.7372544036 7.0077716561,25.0672544036 C 3.4619016561,27.6281544036 -0.0911783439,29.1064544036 -2.8984783439,29.9734544036 C -2.9302783439,29.9824544036 -2.9602783439,29.9944544036 -2.9921783439,30.0044544036 C -4.1681683439,30.3273544036 -5.3839483439,30.5939544036 -6.5859283439,30.8170544036 M -6.5859783439,30.8172544036" /> + <path stroke="0" skew="0" data="B -8.2422283439,3.5672544036 M -0.8984783439,6.5984544036 C -1.8099483439,8.1850544036 -2.9675583439,9.2923544036 -4.3359783439,9.9109544036 C -5.5075683439,10.4405544036 -6.7087883439,10.6888544036 -7.8047283439,10.8484544036 M -8.2422283439,3.5672544036" /> + <path stroke="0" skew="0" data="S -15.5469745223,52.8646496815 L -14.3113057325,51.8220541401 L -10.6042993631,48.6942675159 L -11.2221337580,46.6863057325 L -13.0756369427,40.6624203822 L -14.6202229299,40.8941082803 L -19.2539808917,41.5891719745 L -19.0609076433,44.1763535032 L -18.4816878981,51.9378980892 L -15.5469745223,52.8646496815" /> + <path stroke="0" skew="0" data="S -18.4816878981,51.9378980892 L -19.0609076433,44.1763535032 L -19.2539808917,41.5891719745 L -14.6202229299,40.8941082803 L -13.0756369427,40.6624203822 L -11.2221337580,46.6863057325 L -10.6042993631,48.6942675159 L -14.3113057325,51.8220541401 L -15.5469745223,52.8646496815 L -18.4816878981,51.9378980892" /> + </glyph> + </collection> + <collection name="point_tool"> + <selected id="1"/> + <glyph id="1" left="-28" right="40.354299363057336"> + <path stroke="0" skew="0" data="B 29.9752984992,19.5314631223 M 33.6101092106,16.4055259105 M 28.8848552858,15.8603043038 M 11.6195044068,13.7521140911 M 6.2036364469,-2.6772303243 M 4.4589273054,-8.0204020700 M 2.2780408786,-2.8589708599 M -24.7286027070,61.1500457676 M -21.4209249596,63.5490208371 M 29.9752984992,19.5314631223" /> + <path stroke="0" skew="0" data="B 3.9500538057,3.9744732775 M 8.0210418025,16.3328296962 M 8.4572190879,17.6050134452 M 9.7657509439,17.7867539808 M 23.5780316473,19.4587669080 M -17.3499369629,54.5346902728 M 3.9500538057,3.9744732775" /> + </glyph> + </collection> + <collection unicode="U+71"> + <selected id="1"/> + <glyph id="1" left="-28" right="28"> + </glyph> + </collection> + <collection unicode="U+72"> + <selected id="1"/> + <glyph id="1" left="-28" right="28"> + </glyph> + </collection> + <collection name="resize"> + <selected id="1"/> + <glyph id="1" left="-28" right="28"> + <path stroke="0" skew="0" data="B -12.6075353516,43.9448258786 M 20.4549646484,43.9448258786 M 22.2362146484,43.9448258786 M 22.2362146484,42.1323258786 M 22.2362146484,7.8198258786 M 22.2362146484,3.4448258786 M 19.1737146484,6.5385258786 M 12.5799646484,13.1323258786 M 9.5799646484,10.0073258786 M 16.1112146484,3.3198258786 M 19.0799646484,0.2261258786 M 14.7987146484,0.2261258786 M -19.1387853516,0.2261258786 M -20.9512853516,0.2261258786 M -20.9512853516,2.0385258786 M -20.9512853516,34.6948258786 M -20.9512853516,38.8198258786 M -17.9200353516,36.0073258786 M -10.6075353516,29.2260758786 M -6.4200353516,33.4135758786 M -13.8887853516,40.8823258786 M -16.9512853516,43.9448258786 M -12.6075353516,43.9448258786" /> + <path stroke="0" skew="0" data="B -2.5762853516,34.6948258786 M -1.2950353516,33.4135758786 M -2.5762853516,32.1323258786 M -9.2637853516,25.4448258786 M -10.4825353516,24.2260758786 M -11.7637853516,25.3823258786 M -17.3575353516,30.5385758786 M -17.3575353516,3.8511258786 M 10.5487146484,3.8511258786 M 5.7674646484,8.7573258786 M 4.5487146484,10.0073258786 M 5.7674646484,11.2573258786 M 11.2362146484,16.9760758786 M 12.5174646484,18.3198258786 M 13.8299646484,17.0073258786 M 18.6424646484,12.1948258786 M 18.6424646484,40.3510758786 M -8.2637853516,40.3510758786 M -2.5762853516,34.6948258786" /> + </glyph> + </collection> + <collection unicode="U+73"> + <selected id="1"/> + <glyph id="1" left="-28" right="28"> + </glyph> + </collection> + <collection name="spin_button"> + <selected id="1"/> + <glyph id="1" left="-28" right="55.954617834394917"> + <path stroke="0" skew="0" data="B 14.1079053822,66.3469746815 M 49.3654353822,57.0518146815 M 49.6859753822,51.8646646815 M 36.2240153822,51.8646646815 M 36.2240153822,54.4876346815 M -8.0081446178,54.4876346815 M -8.0081446178,52.1851946815 M -22.1111346178,52.1851946815 M -22.1111346178,58.0133846815 M 14.1079053822,66.3469746815" /> + <path stroke="0" skew="0" data="B -22.1111346178,-0.7840853185 M -22.1111346178,5.0441146815 M -8.0081446178,5.0441146815 M -8.0081446178,2.7416746815 M 36.2240153822,2.7416746815 M 36.2240153822,5.3646346815 M 49.6859753822,5.3646346815 M 49.3654353822,0.1774846815 M 14.1079053822,-9.1176753185 M -22.1111346178,-0.7840853185" /> + </glyph> + </collection> + <collection unicode="U+74"> + <selected id="1"/> + <glyph id="1" left="-28" right="28"> + </glyph> + </collection> + <collection name="track"> + <selected id="1"/> + <glyph id="1" left="-28" right="42.053343949044596"> + <path stroke="0" skew="0" data="B -5.2851563694,29.0758350318 M -3.9414063694,27.7008350318 M 10.4960936306,12.7945350318 M 11.8085936306,11.4508350318 M 10.1523436306,10.5133350318 M -8.9726563694,0.0133350318 M -9.3789063694,-0.2054649682 M -9.8164063694,-0.1424649682 M -19.1601563694,0.7012350318 M -21.4101563694,0.8887350318 M -20.2851563694,2.8575350318 M -6.2539063694,27.4199350318 M -5.2851563694,29.0762350318 M -5.2851563694,29.0758350318" /> + <path stroke="0" skew="0" data="B -16.6601563694,3.3887350318 M -9.9726563694,2.7637350318 M 7.0898436306,12.1699350318 M -4.6914063694,24.2949350318 M -16.6601563694,3.3887350318" /> + <path stroke="0" skew="0" data="B 37.2461436306,69.4825350318 M 36.9961436306,66.6387350318 M 33.5898936306,26.6699350318 M 33.5585936306,26.1075350318 M 33.1523436306,25.7325350318 C 33.1523436306,25.7325350318 31.7244036306,24.4164350318 29.9335936306,22.9512350318 C 28.1427836306,21.4860350318 26.0469936306,19.8614350318 24.2148436306,19.0762350318 C 21.4025636306,17.8709350318 13.4960936306,13.8262350318 13.4960936306,13.8262350318 M 12.5273436306,13.3575350318 M 11.8085936306,14.1075350318 M -3.5039063694,29.6699350318 M -4.2226563694,30.3887350318 M -3.7851563694,31.3262350318 C -3.7851563694,31.3262350318 0.2848236306,39.8354350318 5.9648436306,46.8262350318 C 9.0398236306,50.6108350318 16.1265536306,55.7274350318 22.5898436306,60.1075350318 C 29.0531336306,64.4875350318 34.8085936306,67.9825350318 34.8085936306,67.9825350318 M 37.2460936306,69.4825350318 M 37.2461436306,69.4825350318" /> + <path stroke="0" skew="0" data="B 24.2148436306,57.7012350318 C 17.8166036306,53.3652350318 10.6358836306,48.0319350318 8.1835936306,45.0137350318 C 3.2801936306,38.9788350318 -0.0722063694,32.2131350318 -0.6914063694,30.9512350318 M 13.1210936306,16.8887350318 C 14.2875436306,17.4849350318 20.2276636306,20.5058350318 23.0898436306,21.7325350318 C 24.2339236306,22.2228350318 26.4042136306,23.7965350318 28.1210936306,25.2012350318 C 29.6039436306,26.4145350318 30.4745136306,27.2059350318 30.7773436306,27.4825350318 M 33.8710936306,63.9512350318 C 30.6523436306,61.8679016985 29.3264336306,61.1653350318 24.2148436306,57.7012350318" /> + </glyph> + </collection> + <collection unicode="U+75"> + <selected id="1"/> + <glyph id="1" left="-28" right="28"> + </glyph> + </collection> + <collection unicode="U+76"> + <selected id="1"/> + <glyph id="1" left="-28" right="28"> + </glyph> + </collection> + <collection unicode="U+77"> + <selected id="1"/> + <glyph id="1" left="-28" right="28"> + </glyph> + </collection> + <collection unicode="U+78"> + <selected id="1"/> + <glyph id="1" left="-28" right="28"> + </glyph> + </collection> + <collection unicode="U+79"> + <selected id="1"/> + <glyph id="1" left="-28" right="28"> + </glyph> + </collection> + <collection unicode="U+7a"> + <selected id="1"/> + <glyph id="1" left="-28" right="28"> + </glyph> + </collection> + <collection name="zoom_tool"> + <selected id="1"/> + <glyph id="1" left="-28" right="28"> + <path stroke="0" skew="0" data="B 14.0790197006,42.0048020701 C 14.0790197006,35.7823820701 10.8599497006,30.3057120701 6.0165197006,27.0985520701 M 20.6102697006,1.8798520701 M 17.4540197006,0.0672520701 M 2.7977697006,25.4110520701 C 0.7261897006,24.5770520701 -1.5264082994,24.0985520701 -3.8897282994,24.0985520701 C -13.7659472994,24.0985520701 -21.7647282994,32.1285820701 -21.7647282994,42.0048020701 C -21.7647282994,51.8810220701 -13.7659472994,59.9423020701 -3.8897282994,59.9423020701 C 5.9864897006,59.9423020701 14.0790197006,51.8810220701 14.0790197006,42.0048020701" /> + <path stroke="0" skew="0" data="B -18.1709782994,42.0048020701 C -18.1709782994,34.0838720701 -11.8106662994,27.6923020701 -3.8897282994,27.6923020701 C 4.0311997006,27.6923020701 10.4227697006,34.0838720701 10.4227697006,42.0048020701 C 10.4227697006,49.9257420701 4.0311997006,56.2860520701 -3.8897282994,56.2860520701 C -11.8937755393,56.1593933652 -18.1709782994,49.9257420701 -18.1709782994,42.0048020701" /> + </glyph> + </collection> + + + <ligature sequence="m o v e _ b a c k g r o u n d" replacement="move_background"/> + <ligature sequence="m o v e _ c a n v a s" replacement="move_canvas"/> + <ligature sequence="s p i n _ b u t t o n" replacement="spin_button"/> + <ligature sequence="p o i n t _ t o o l" replacement="point_tool"/> + <ligature sequence="z o o m _ t o o l" replacement="zoom_tool"/> + <ligature sequence="f o r e s i g h t" replacement="foresight"/> + <ligature sequence="p e n _ t o o l" replacement="pen_tool"/> + <ligature sequence="r e s i z e" replacement="resize"/> + <ligature sequence="t r a c k" replacement="track"/> + <ligature sequence="m o v e" replacement="move"/> + + </font>
--- a/scripts/linux_build.py +++ b/scripts/linux_build.py @@ -27,6 +27,7 @@ parser.add_option("-f", "--cflags", dest="cflags", help="set compiler flags", metavar="CFLAGS") parser.add_option("-l", "--ldflags", dest="ldflags", help="set linker flags", metavar="LDFLAGS") parser.add_option("-v", "--valac", dest="valac", help="select vala compiler", metavar="VALAC") + parser.add_option("-w", "--valac-flags", dest="valaflags", help="vala flags", metavar="VALAFLAGS") (options, args) = parser.parse_args() @@ -40,10 +41,12 @@ options.ldflags = "" if not options.valac: options.valac = "valac" + if not options.valaflags: + options.valaflags = "" prefix = options.prefix valac = options.valac - valaflags = "--pkg gdk-pixbuf-2.0 --pkg gtk+-3.0" + valaflags = options.valaflags + " --pkg gdk-pixbuf-2.0 --pkg gtk+-3.0" cc = options.cc cflags = options.cflags + " " + "$(pkg-config --cflags gdk-pixbuf-2.0)" ldflags = options.ldflags + " " + "$(pkg-config --libs gdk-pixbuf-2.0)"