├── .gitignore ├── .jshintrc ├── Gruntfile.js ├── README.md ├── assets ├── images │ ├── scrollbar │ │ ├── custom │ │ │ ├── bar-bg.png │ │ │ ├── bar.png │ │ │ ├── bg.png │ │ │ ├── bottom.png │ │ │ ├── btn.png │ │ │ ├── down.png │ │ │ ├── top.png │ │ │ └── up.png │ │ └── edit │ │ │ ├── bar-bg.png │ │ │ ├── bar-left.png │ │ │ ├── bar-right.png │ │ │ ├── thumb-bg.png │ │ │ ├── thumb-left.png │ │ │ └── thumb-right.png │ └── toolbar │ │ ├── alphabetic │ │ ├── aleph.png │ │ ├── bbbk.png │ │ ├── beth.png │ │ ├── circleds.png │ │ ├── complement.png │ │ ├── daleth.png │ │ ├── ell.png │ │ ├── eth.png │ │ ├── finv.png │ │ ├── game.png │ │ ├── gimel.png │ │ ├── hbar.png │ │ ├── hslash.png │ │ ├── im.png │ │ ├── mho.png │ │ ├── partial.png │ │ ├── re.png │ │ └── wp.png │ │ ├── arrow │ │ ├── circlearrowleft.png │ │ ├── circlearrowright.png │ │ ├── curvearrowleft.png │ │ ├── curvearrowright.png │ │ ├── downarrow.png │ │ ├── downdownarrows.png │ │ ├── downharpoonleft.png │ │ ├── downharpoonright.png │ │ ├── gets.png │ │ ├── leftarrowtail.png │ │ ├── leftharpoondown.png │ │ ├── leftharpoonup.png │ │ ├── leftleftarrows.png │ │ ├── leftrightarrow.png │ │ ├── leftrightarrows.png │ │ ├── leftrightharpoons.png │ │ ├── leftrightsquigarrow.png │ │ ├── longleftarrow.png │ │ ├── longleftrightarrow.png │ │ ├── longrightarrow.png │ │ ├── looparrowleft.png │ │ ├── looparrowright.png │ │ ├── multimap.png │ │ ├── nearrow.png │ │ ├── nleftarrow.png │ │ ├── nrightarrow.png │ │ ├── nwarrow.png │ │ ├── rightarrowtail.png │ │ ├── rightharpoondown.png │ │ ├── rightharpoonup.png │ │ ├── rightleftarrows.png │ │ ├── rightleftharpoons.png │ │ ├── rightrightarrows.png │ │ ├── rightsquigarrow.png │ │ ├── searrow.png │ │ ├── swarrow.png │ │ ├── to.png │ │ ├── twoheadleftarrow.png │ │ ├── twoheadrightarrow.png │ │ ├── u-downarrow.png │ │ ├── u-leftarrow.png │ │ ├── u-leftrightarrow.png │ │ ├── u-lftarrow.png │ │ ├── u-lleftarrow.png │ │ ├── u-longleftarrow.png │ │ ├── u-longleftrightarrow.png │ │ ├── u-longrightarrow.png │ │ ├── u-lsh.png │ │ ├── u-nleftarrow.png │ │ ├── u-nleftrightarrow.png │ │ ├── u-nrightarrow.png │ │ ├── u-rightarrow.png │ │ ├── u-rrightarrow.png │ │ ├── u-rsh.png │ │ ├── u-uparrow.png │ │ ├── u-updownarrow.png │ │ ├── uparrow.png │ │ ├── updownarrow.png │ │ ├── upharpoonleft.png │ │ ├── upharpoonright.png │ │ └── upuparrows.png │ │ ├── brackets │ │ ├── 1.png │ │ ├── 2.png │ │ ├── 3.png │ │ └── 4.png │ │ ├── btn.png │ │ ├── button │ │ ├── brackets.png │ │ ├── down.png │ │ ├── frac.png │ │ ├── fx.png │ │ ├── int.png │ │ ├── lim.png │ │ ├── open.png │ │ ├── script.png │ │ ├── sin.png │ │ ├── sqrt.png │ │ ├── sum.png │ │ ├── tick.png │ │ └── up.png │ │ ├── char.png │ │ ├── char │ │ ├── bb │ │ │ ├── a.png │ │ │ ├── b.png │ │ │ ├── c.png │ │ │ ├── d.png │ │ │ ├── e.png │ │ │ ├── f.png │ │ │ ├── g.png │ │ │ ├── h.png │ │ │ ├── i.png │ │ │ ├── j.png │ │ │ ├── k.png │ │ │ ├── l.png │ │ │ ├── m.png │ │ │ ├── n.png │ │ │ ├── o.png │ │ │ ├── p.png │ │ │ ├── q.png │ │ │ ├── r.png │ │ │ ├── s.png │ │ │ ├── t.png │ │ │ ├── u.png │ │ │ ├── v.png │ │ │ ├── w.png │ │ │ ├── x.png │ │ │ ├── y.png │ │ │ └── z.png │ │ ├── cal │ │ │ ├── a.png │ │ │ ├── b.png │ │ │ ├── c.png │ │ │ ├── d.png │ │ │ ├── e.png │ │ │ ├── f.png │ │ │ ├── g.png │ │ │ ├── h.png │ │ │ ├── i.png │ │ │ ├── j.png │ │ │ ├── k.png │ │ │ ├── l.png │ │ │ ├── m.png │ │ │ ├── n.png │ │ │ ├── o.png │ │ │ ├── p.png │ │ │ ├── q.png │ │ │ ├── r.png │ │ │ ├── s.png │ │ │ ├── t.png │ │ │ ├── u.png │ │ │ ├── v.png │ │ │ ├── w.png │ │ │ ├── x.png │ │ │ ├── y.png │ │ │ └── z.png │ │ ├── frak │ │ │ ├── a.png │ │ │ ├── b.png │ │ │ ├── c.png │ │ │ ├── d.png │ │ │ ├── e.png │ │ │ ├── f.png │ │ │ ├── g.png │ │ │ ├── h.png │ │ │ ├── i.png │ │ │ ├── j.png │ │ │ ├── k.png │ │ │ ├── l.png │ │ │ ├── m.png │ │ │ ├── n.png │ │ │ ├── o.png │ │ │ ├── p.png │ │ │ ├── q.png │ │ │ ├── r.png │ │ │ ├── s.png │ │ │ ├── t.png │ │ │ ├── u.png │ │ │ ├── ua.png │ │ │ ├── ub.png │ │ │ ├── uc.png │ │ │ ├── ud.png │ │ │ ├── ue.png │ │ │ ├── uf.png │ │ │ ├── ug.png │ │ │ ├── uh.png │ │ │ ├── ui.png │ │ │ ├── uj.png │ │ │ ├── uk.png │ │ │ ├── ul.png │ │ │ ├── um.png │ │ │ ├── un.png │ │ │ ├── uo.png │ │ │ ├── up.png │ │ │ ├── uq.png │ │ │ ├── ur.png │ │ │ ├── us.png │ │ │ ├── ut.png │ │ │ ├── uu.png │ │ │ ├── uv.png │ │ │ ├── uw.png │ │ │ ├── ux.png │ │ │ ├── uy.png │ │ │ ├── uz.png │ │ │ ├── v.png │ │ │ ├── w.png │ │ │ ├── x.png │ │ │ ├── y.png │ │ │ └── z.png │ │ ├── greek │ │ │ ├── lower │ │ │ │ ├── alpha.png │ │ │ │ ├── beta.png │ │ │ │ ├── chi.png │ │ │ │ ├── delta.png │ │ │ │ ├── epsilon.png │ │ │ │ ├── eta.png │ │ │ │ ├── gamma.png │ │ │ │ ├── iota.png │ │ │ │ ├── kappa.png │ │ │ │ ├── lambda.png │ │ │ │ ├── mu.png │ │ │ │ ├── nu.png │ │ │ │ ├── omega.png │ │ │ │ ├── omicron.png │ │ │ │ ├── phi.png │ │ │ │ ├── pi.png │ │ │ │ ├── psi.png │ │ │ │ ├── rho.png │ │ │ │ ├── sigma.png │ │ │ │ ├── tau.png │ │ │ │ ├── theta.png │ │ │ │ ├── upsilon.png │ │ │ │ ├── xi.png │ │ │ │ └── zeta.png │ │ │ ├── misc │ │ │ │ ├── digamma.png │ │ │ │ ├── varepsilon.png │ │ │ │ ├── varkappa.png │ │ │ │ ├── varphi.png │ │ │ │ ├── varpi.png │ │ │ │ ├── varrho.png │ │ │ │ ├── varsigma.png │ │ │ │ └── vartheta.png │ │ │ └── upper │ │ │ │ ├── alpha.png │ │ │ │ ├── beta.png │ │ │ │ ├── chi.png │ │ │ │ ├── delta.png │ │ │ │ ├── epsilon.png │ │ │ │ ├── eta.png │ │ │ │ ├── gamma.png │ │ │ │ ├── iota.png │ │ │ │ ├── kappa.png │ │ │ │ ├── lambda.png │ │ │ │ ├── mu.png │ │ │ │ ├── nu.png │ │ │ │ ├── omega.png │ │ │ │ ├── omicron.png │ │ │ │ ├── phi.png │ │ │ │ ├── pi.png │ │ │ │ ├── psi.png │ │ │ │ ├── rho.png │ │ │ │ ├── sigma.png │ │ │ │ ├── tau.png │ │ │ │ ├── theta.png │ │ │ │ ├── upsilon.png │ │ │ │ ├── xi.png │ │ │ │ └── zeta.png │ │ ├── math │ │ │ ├── aleph.png │ │ │ ├── approx.png │ │ │ ├── ast.png │ │ │ ├── baifenhao.png │ │ │ ├── because.png │ │ │ ├── beth.png │ │ │ ├── blacksquare.png │ │ │ ├── cap.png │ │ │ ├── cdot.png │ │ │ ├── circ.png │ │ │ ├── cong.png │ │ │ ├── cup.png │ │ │ ├── ddots.png │ │ │ ├── div.png │ │ │ ├── downarrow.png │ │ │ ├── eq.png │ │ │ ├── equiv.png │ │ │ ├── exists.png │ │ │ ├── forall.png │ │ │ ├── geq.png │ │ │ ├── gets.png │ │ │ ├── gg.png │ │ │ ├── gt.png │ │ │ ├── in.png │ │ │ ├── infty.png │ │ │ ├── leftrightarrow.png │ │ │ ├── leq.png │ │ │ ├── ll.png │ │ │ ├── lt.png │ │ │ ├── minus.png │ │ │ ├── mp.png │ │ │ ├── neg.png │ │ │ ├── nexists.png │ │ │ ├── ni.png │ │ │ ├── partial.png │ │ │ ├── plus.png │ │ │ ├── pm.png │ │ │ ├── propto.png │ │ │ ├── sim.png │ │ │ ├── simeq.png │ │ │ ├── surd.png │ │ │ ├── tanhao.png │ │ │ ├── therefore.png │ │ │ ├── times.png │ │ │ ├── to.png │ │ │ ├── uparrow.png │ │ │ ├── varnothing.png │ │ │ └── vdots.png │ │ ├── not │ │ │ ├── gneqq.png │ │ │ ├── gnsim.png │ │ │ ├── lneqq.png │ │ │ ├── lnsim.png │ │ │ ├── nVdash.png │ │ │ ├── nbdash-1.png │ │ │ ├── ncong.png │ │ │ ├── neq.png │ │ │ ├── nequiv.png │ │ │ ├── nexists.png │ │ │ ├── ngeq.png │ │ │ ├── ngtr.png │ │ │ ├── nleq.png │ │ │ ├── nless.png │ │ │ ├── nmid.png │ │ │ ├── notin.png │ │ │ ├── nparallel.png │ │ │ ├── nprec.png │ │ │ ├── nsim.png │ │ │ ├── nsubseteq.png │ │ │ ├── nsucc.png │ │ │ ├── nsupseteq.png │ │ │ ├── ntriangleleft.png │ │ │ ├── ntrianglelefteq.png │ │ │ ├── ntriangleright.png │ │ │ ├── ntrianglerighteq.png │ │ │ ├── nvdash-1.png │ │ │ ├── nvdash-2.png │ │ │ ├── nvdash-3.png │ │ │ ├── nvdash.png │ │ │ ├── precnsim.png │ │ │ ├── subsetneq.png │ │ │ ├── succnsim.png │ │ │ └── supsetneq.png │ │ └── rm │ │ │ ├── a.png │ │ │ ├── b.png │ │ │ ├── c.png │ │ │ ├── d.png │ │ │ ├── e.png │ │ │ ├── f.png │ │ │ ├── g.png │ │ │ ├── h.png │ │ │ ├── i.png │ │ │ ├── j.png │ │ │ ├── k.png │ │ │ ├── l.png │ │ │ ├── m.png │ │ │ ├── n.png │ │ │ ├── o.png │ │ │ ├── p.png │ │ │ ├── q.png │ │ │ ├── r.png │ │ │ ├── s.png │ │ │ ├── t.png │ │ │ ├── u.png │ │ │ ├── ua.png │ │ │ ├── ub.png │ │ │ ├── uc.png │ │ │ ├── ud.png │ │ │ ├── ue.png │ │ │ ├── uf.png │ │ │ ├── ug.png │ │ │ ├── uh.png │ │ │ ├── ui.png │ │ │ ├── uj.png │ │ │ ├── uk.png │ │ │ ├── ul.png │ │ │ ├── um.png │ │ │ ├── un.png │ │ │ ├── uo.png │ │ │ ├── up.png │ │ │ ├── uq.png │ │ │ ├── ur.png │ │ │ ├── us.png │ │ │ ├── ut.png │ │ │ ├── uu.png │ │ │ ├── uv.png │ │ │ ├── uw.png │ │ │ ├── ux.png │ │ │ ├── uy.png │ │ │ ├── uz.png │ │ │ ├── v.png │ │ │ ├── w.png │ │ │ ├── x.png │ │ │ ├── y.png │ │ │ └── z.png │ │ ├── frac │ │ ├── 1.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── c1.png │ │ ├── c2.png │ │ ├── c4.png │ │ └── c5.png │ │ ├── func │ │ ├── 1.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ ├── 5.png │ │ ├── 6.png │ │ ├── c1.png │ │ ├── c2.png │ │ └── c3.png │ │ ├── int │ │ ├── 1.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ ├── 5.png │ │ └── 6.png │ │ ├── large │ │ ├── 1.png │ │ ├── 2.png │ │ └── 3.png │ │ ├── other.png │ │ ├── script │ │ ├── 1.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ ├── c1.png │ │ ├── c2.png │ │ └── c3.png │ │ ├── sqrt │ │ ├── 1.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ ├── c1.png │ │ └── c2.png │ │ └── ys │ │ ├── 1.png │ │ ├── 2.png │ │ └── 3.png ├── styles │ ├── base.css │ ├── page.css │ ├── scrollbar.css │ └── ui.css └── theme │ └── default │ ├── fui.css │ ├── fui.min.css │ └── images │ ├── close.png │ ├── down.png │ ├── open.png │ └── up.png ├── build ├── sprites.button.js ├── sprites.char.js └── sprites.other.js ├── config └── conf.js ├── dev-lib ├── dev-define.js ├── dev-start.js ├── exports.js ├── fui.all.js ├── fui.all.min.js ├── jhtmls.min.js ├── jquery-1.11.0.min.js ├── kity-formula-parser.all 2.js ├── kity-formula-parser.all.js ├── kity-formula-parser.all.min 2.js ├── kity-formula-parser.all.min.js ├── kity-formula-render.all 2.js ├── kity-formula-render.all.js ├── kity-formula-render.all.min 2.js ├── kity-formula-render.all.min.js ├── kity-formula.all.js ├── kitygraph.all.js └── start.js ├── index.html ├── lib ├── kity-formula-parser.all.min.js ├── kity-formula-render.all.min.js └── kitygraph.all.min.js ├── package.json ├── resource ├── KF_AMS_BB.woff ├── KF_AMS_CAL.woff ├── KF_AMS_FRAK.woff ├── KF_AMS_MAIN.woff └── KF_AMS_ROMAN.woff └── src ├── base ├── common.js ├── component.js ├── event │ ├── event.js │ └── kfevent.js └── utils.js ├── control ├── controller.js ├── input-filter.js ├── input.js ├── listener.js ├── location.js └── selection.js ├── def └── group-type.js ├── editor ├── editor.js └── factory.js ├── jquery.js ├── kf-ext ├── def.js ├── expression │ └── placeholder.js ├── extension.js └── operator │ └── placeholder.js ├── kf.js ├── kity.js ├── parse ├── parser.js └── vgroup-def.js ├── position └── position.js ├── print └── printer.js ├── render └── render.js ├── syntax ├── delete.js ├── move.js └── syntax.js ├── sysconf.js └── ui ├── char-position.data.js ├── control └── zoom.js ├── def.js ├── other-position.data.js ├── toolbar-ele-list.bak.js ├── toolbar-ele-list.js ├── toolbar └── toolbar.js ├── ui-impl ├── area.js ├── box.js ├── button.js ├── def │ ├── box-type.js │ ├── ele-type.js │ └── item-type.js ├── delimiter.js ├── drapdown-box.js ├── list.js ├── scrollbar │ └── scrollbar.js ├── ui-utils.js └── ui.js └── ui.js /.gitignore: -------------------------------------------------------------------------------- 1 | ############### 2 | # node # 3 | ############### 4 | node_modules 5 | npm-debug.log 6 | 7 | ############### 8 | # folder # 9 | ############### 10 | .idea 11 | log 12 | upload 13 | dist 14 | 15 | 16 | ############### 17 | # fixed file # 18 | ############### 19 | *.pptx 20 | *.doc 21 | *.docx 22 | *.xml 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | ################# 34 | ## Eclipse 35 | ################# 36 | 37 | *.pydevproject 38 | .project 39 | .metadata 40 | bin/ 41 | tmp/ 42 | *.tmp 43 | *.bak 44 | *.swp 45 | *~.nib 46 | local.properties 47 | .classpath 48 | .settings/ 49 | .loadpath 50 | 51 | # External tool builders 52 | .externalToolBuilders/ 53 | 54 | # Locally stored "Eclipse launch configurations" 55 | *.launch 56 | 57 | # CDT-specific 58 | .cproject 59 | 60 | # PDT-specific 61 | .buildpath 62 | 63 | 64 | ################# 65 | ## Visual Studio 66 | ################# 67 | 68 | ## Ignore Visual Studio temporary files, build results, and 69 | ## files generated by popular Visual Studio add-ons. 70 | 71 | # User-specific files 72 | *.suo 73 | *.user 74 | *.sln.docstates 75 | 76 | # Build results 77 | [Dd]ebug/ 78 | [Rr]elease/ 79 | *_i.c 80 | *_p.c 81 | *.ilk 82 | *.meta 83 | *.obj 84 | *.pch 85 | *.pdb 86 | *.pgc 87 | *.pgd 88 | *.rsp 89 | *.sbr 90 | *.tlb 91 | *.tli 92 | *.tlh 93 | *.tmp 94 | *.vspscc 95 | .builds 96 | *.dotCover 97 | 98 | ## TODO: If you have NuGet Package Restore enabled, uncomment this 99 | #packages/ 100 | 101 | # Visual C++ cache files 102 | ipch/ 103 | *.aps 104 | *.ncb 105 | *.opensdf 106 | *.sdf 107 | 108 | # Visual Studio profiler 109 | *.psess 110 | *.vsp 111 | 112 | # ReSharper is a .NET coding add-in 113 | _ReSharper* 114 | 115 | # Installshield output folder 116 | [Ee]xpress 117 | 118 | # DocProject is a documentation generator add-in 119 | DocProject/buildhelp/ 120 | DocProject/Help/*.HxT 121 | DocProject/Help/*.HxC 122 | DocProject/Help/*.hhc 123 | DocProject/Help/*.hhk 124 | DocProject/Help/*.hhp 125 | DocProject/Help/Html2 126 | DocProject/Help/html 127 | 128 | # Click-Once directory 129 | publish 130 | 131 | # Others 132 | [Bb]in 133 | [Oo]bj 134 | sql 135 | TestResults 136 | *.Cache 137 | ClientBin 138 | stylecop.* 139 | ~$* 140 | *.dbmdl 141 | Generated_Code #added for RIA/Silverlight projects 142 | 143 | # Backup & report files from converting an old project file to a newer 144 | # Visual Studio version. Backup files are not needed, because we have git ;-) 145 | _UpgradeReport_Files/ 146 | Backup*/ 147 | UpgradeLog*.XML 148 | 149 | 150 | 151 | ############ 152 | ## Windows 153 | ############ 154 | 155 | # Windows image file caches 156 | Thumbs.db 157 | 158 | # Folder config file 159 | Desktop.ini 160 | 161 | 162 | ############# 163 | ## Python 164 | ############# 165 | 166 | *.py[co] 167 | 168 | # Packages 169 | *.egg 170 | *.egg-info 171 | dist 172 | eggs 173 | parts 174 | bin 175 | var 176 | sdist 177 | develop-eggs 178 | .installed.cfg 179 | 180 | # Installer logs 181 | pip-log.txt 182 | 183 | # Unit test / coverage reports 184 | .coverage 185 | .tox 186 | 187 | #Translations 188 | *.mo 189 | 190 | #Mr Developer 191 | .mr.developer.cfg 192 | 193 | # Mac crap 194 | .DS_Store 195 | 196 | -------------------------------------------------------------------------------- /.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "maxerr": 50, 3 | "boss": true, 4 | "bitwise": false, 5 | "camelcase": true, 6 | "curly": true, 7 | "eqeqeq": false, 8 | "forin": true, 9 | "strict": false, 10 | "freeze": true, 11 | "immed": true, 12 | "indent": 4, 13 | "latedef": false, 14 | "newcap": true, 15 | "noarg": true, 16 | "noempty": true, 17 | "nonbsp": true, 18 | "nonew": false, 19 | "plusplus": false, 20 | "undef": true, 21 | "trailing": true, 22 | "debug": false, 23 | "funcscope": true, 24 | "multistr": false, 25 | "proto": true, 26 | "smarttabs": false, 27 | "shadow": true, 28 | "scripturl": false, 29 | "laxcomma": false, 30 | "loopfunc": true, 31 | "onevar": false, 32 | "unused": "vars", 33 | "maxdepth": 5, 34 | "maxstatements": 40, 35 | // "maxlen": 80, 36 | "evil": false, 37 | "funcscope": false, 38 | "lastsemic": false, 39 | "laxbreak": false, 40 | "expr": true, 41 | "quotmark": false, 42 | "predef": [ "define", "unescape", "console" ], 43 | "browser": true 44 | } -------------------------------------------------------------------------------- /Gruntfile.js: -------------------------------------------------------------------------------- 1 | /*global module:false*/ 2 | module.exports = function (grunt) { 3 | 4 | grunt.initConfig({ 5 | 6 | // Metadata. 7 | pkg: grunt.file.readJSON('package.json'), 8 | 9 | // 最终代码合并 10 | concat: { 11 | 12 | full: { 13 | 14 | options: { 15 | 16 | banner: '/*!\n' + 17 | ' * ====================================================\n' + 18 | ' * <%= pkg.title || pkg.name %> - v<%= pkg.version %> - ' + 19 | '<%= grunt.template.today("yyyy-mm-dd") %>\n' + 20 | '<%= pkg.homepage ? " * " + pkg.homepage + "\\n" : "" %>' + 21 | ' * GitHub: <%= pkg.repository.url %> \n' + 22 | ' * Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author.name %>;' + 23 | ' Licensed <%= _.pluck(pkg.licenses, "type").join(", ") %>\n' + 24 | ' * ====================================================\n' + 25 | ' */\n\n' + 26 | '(function () {\n', 27 | 28 | footer: '})();' 29 | 30 | }, 31 | 32 | dest: 'dist/' + getFileName(), 33 | src: [ '.tmp_build/kf.tmp.js', 'dev-lib/exports.js' ] 34 | 35 | } 36 | 37 | }, 38 | 39 | // 压缩 40 | uglify: { 41 | 42 | options: { 43 | 44 | banner: '/*!\n' + 45 | ' * ====================================================\n' + 46 | ' * <%= pkg.title || pkg.name %> - v<%= pkg.version %> - ' + 47 | '<%= grunt.template.today("yyyy-mm-dd") %>\n' + 48 | '<%= pkg.homepage ? " * " + pkg.homepage + "\\n" : "" %>' + 49 | ' * GitHub: <%= pkg.repository.url %> \n' + 50 | ' * Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author.name %>;' + 51 | ' Licensed <%= _.pluck(pkg.licenses, "type").join(", ") %>\n' + 52 | ' * ====================================================\n' + 53 | ' */\n', 54 | 55 | beautify: { 56 | ascii_only: true 57 | } 58 | 59 | }, 60 | 61 | minimize: { 62 | 63 | dest: 'dist/' + getFileName( true ), 64 | src: 'dist/' + getFileName() 65 | 66 | } 67 | 68 | }, 69 | 70 | // 模块依赖合并 71 | dependence: { 72 | 73 | replace: { 74 | 75 | options: { 76 | base: 'src', 77 | entrance: 'kf.start' 78 | }, 79 | 80 | files: [ { 81 | src: [ 'src/**/*.js', 'dev-lib/start.js' ], 82 | dest: '.tmp_build/kf.tmp.js' 83 | } ] 84 | 85 | } 86 | }, 87 | 88 | // hint检查 89 | jshint: { 90 | options: { 91 | ignores: [ 'src/base/canvg.js' ], 92 | jshintrc: '.jshintrc' 93 | }, 94 | check: [ 'src/**/*.js' ] 95 | }, 96 | 97 | // 临时目录清理 98 | clean: { 99 | files: [ '.tmp_build' ] 100 | } 101 | 102 | }); 103 | 104 | function getFileName ( isMin ) { 105 | 106 | var pkg = grunt.file.readJSON('package.json') 107 | 108 | return pkg.name.replace( /[A-Z]/g, function ( match, index ) { 109 | 110 | if ( index === 0 ) { 111 | return match.toLowerCase(); 112 | } else { 113 | return '-' + match.toLowerCase(); 114 | } 115 | 116 | } ) + ( isMin ? '.all.min.js' : '.all.js' ); 117 | 118 | } 119 | 120 | // These plugins provide necessary tasks. 121 | grunt.loadNpmTasks('grunt-contrib-concat'); 122 | grunt.loadNpmTasks('grunt-contrib-uglify'); 123 | grunt.loadNpmTasks('grunt-contrib-clean'); 124 | grunt.loadNpmTasks('grunt-contrib-jshint'); 125 | grunt.loadNpmTasks('grunt-module-dependence'); 126 | 127 | // task list. 128 | grunt.registerTask( 'default', [ 'jshint' ] ); 129 | grunt.registerTask( 'build', [ 'jshint', 'dependence:replace', 'concat:full', 'uglify:minimize', 'clean' ] ); 130 | 131 | }; 132 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | KityFormula Editor 2 | ======= 3 | 基于 SVG 的公式编辑器,百度前端富应用小组开发 4 | 5 | 当前文档工作未完善,有疑惑之处请发邮件联系我们。 6 | -------------------------------------------------------------------------------- /assets/images/scrollbar/custom/bar-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/scrollbar/custom/bar-bg.png -------------------------------------------------------------------------------- /assets/images/scrollbar/custom/bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/scrollbar/custom/bar.png -------------------------------------------------------------------------------- /assets/images/scrollbar/custom/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/scrollbar/custom/bg.png -------------------------------------------------------------------------------- /assets/images/scrollbar/custom/bottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/scrollbar/custom/bottom.png -------------------------------------------------------------------------------- /assets/images/scrollbar/custom/btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/scrollbar/custom/btn.png -------------------------------------------------------------------------------- /assets/images/scrollbar/custom/down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/scrollbar/custom/down.png -------------------------------------------------------------------------------- /assets/images/scrollbar/custom/top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/scrollbar/custom/top.png -------------------------------------------------------------------------------- /assets/images/scrollbar/custom/up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/scrollbar/custom/up.png -------------------------------------------------------------------------------- /assets/images/scrollbar/edit/bar-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/scrollbar/edit/bar-bg.png -------------------------------------------------------------------------------- /assets/images/scrollbar/edit/bar-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/scrollbar/edit/bar-left.png -------------------------------------------------------------------------------- /assets/images/scrollbar/edit/bar-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/scrollbar/edit/bar-right.png -------------------------------------------------------------------------------- /assets/images/scrollbar/edit/thumb-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/scrollbar/edit/thumb-bg.png -------------------------------------------------------------------------------- /assets/images/scrollbar/edit/thumb-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/scrollbar/edit/thumb-left.png -------------------------------------------------------------------------------- /assets/images/scrollbar/edit/thumb-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/scrollbar/edit/thumb-right.png -------------------------------------------------------------------------------- /assets/images/toolbar/alphabetic/aleph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/alphabetic/aleph.png -------------------------------------------------------------------------------- /assets/images/toolbar/alphabetic/bbbk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/alphabetic/bbbk.png -------------------------------------------------------------------------------- /assets/images/toolbar/alphabetic/beth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/alphabetic/beth.png -------------------------------------------------------------------------------- /assets/images/toolbar/alphabetic/circleds.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/alphabetic/circleds.png -------------------------------------------------------------------------------- /assets/images/toolbar/alphabetic/complement.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/alphabetic/complement.png -------------------------------------------------------------------------------- /assets/images/toolbar/alphabetic/daleth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/alphabetic/daleth.png -------------------------------------------------------------------------------- /assets/images/toolbar/alphabetic/ell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/alphabetic/ell.png -------------------------------------------------------------------------------- /assets/images/toolbar/alphabetic/eth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/alphabetic/eth.png -------------------------------------------------------------------------------- /assets/images/toolbar/alphabetic/finv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/alphabetic/finv.png -------------------------------------------------------------------------------- /assets/images/toolbar/alphabetic/game.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/alphabetic/game.png -------------------------------------------------------------------------------- /assets/images/toolbar/alphabetic/gimel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/alphabetic/gimel.png -------------------------------------------------------------------------------- /assets/images/toolbar/alphabetic/hbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/alphabetic/hbar.png -------------------------------------------------------------------------------- /assets/images/toolbar/alphabetic/hslash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/alphabetic/hslash.png -------------------------------------------------------------------------------- /assets/images/toolbar/alphabetic/im.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/alphabetic/im.png -------------------------------------------------------------------------------- /assets/images/toolbar/alphabetic/mho.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/alphabetic/mho.png -------------------------------------------------------------------------------- /assets/images/toolbar/alphabetic/partial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/alphabetic/partial.png -------------------------------------------------------------------------------- /assets/images/toolbar/alphabetic/re.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/alphabetic/re.png -------------------------------------------------------------------------------- /assets/images/toolbar/alphabetic/wp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/alphabetic/wp.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/circlearrowleft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/circlearrowleft.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/circlearrowright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/circlearrowright.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/curvearrowleft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/curvearrowleft.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/curvearrowright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/curvearrowright.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/downarrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/downarrow.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/downdownarrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/downdownarrows.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/downharpoonleft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/downharpoonleft.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/downharpoonright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/downharpoonright.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/gets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/gets.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/leftarrowtail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/leftarrowtail.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/leftharpoondown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/leftharpoondown.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/leftharpoonup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/leftharpoonup.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/leftleftarrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/leftleftarrows.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/leftrightarrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/leftrightarrow.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/leftrightarrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/leftrightarrows.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/leftrightharpoons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/leftrightharpoons.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/leftrightsquigarrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/leftrightsquigarrow.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/longleftarrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/longleftarrow.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/longleftrightarrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/longleftrightarrow.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/longrightarrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/longrightarrow.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/looparrowleft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/looparrowleft.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/looparrowright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/looparrowright.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/multimap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/multimap.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/nearrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/nearrow.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/nleftarrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/nleftarrow.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/nrightarrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/nrightarrow.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/nwarrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/nwarrow.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/rightarrowtail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/rightarrowtail.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/rightharpoondown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/rightharpoondown.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/rightharpoonup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/rightharpoonup.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/rightleftarrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/rightleftarrows.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/rightleftharpoons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/rightleftharpoons.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/rightrightarrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/rightrightarrows.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/rightsquigarrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/rightsquigarrow.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/searrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/searrow.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/swarrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/swarrow.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/to.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/to.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/twoheadleftarrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/twoheadleftarrow.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/twoheadrightarrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/twoheadrightarrow.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/u-downarrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/u-downarrow.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/u-leftarrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/u-leftarrow.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/u-leftrightarrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/u-leftrightarrow.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/u-lftarrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/u-lftarrow.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/u-lleftarrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/u-lleftarrow.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/u-longleftarrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/u-longleftarrow.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/u-longleftrightarrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/u-longleftrightarrow.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/u-longrightarrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/u-longrightarrow.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/u-lsh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/u-lsh.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/u-nleftarrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/u-nleftarrow.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/u-nleftrightarrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/u-nleftrightarrow.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/u-nrightarrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/u-nrightarrow.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/u-rightarrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/u-rightarrow.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/u-rrightarrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/u-rrightarrow.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/u-rsh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/u-rsh.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/u-uparrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/u-uparrow.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/u-updownarrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/u-updownarrow.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/uparrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/uparrow.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/updownarrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/updownarrow.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/upharpoonleft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/upharpoonleft.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/upharpoonright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/upharpoonright.png -------------------------------------------------------------------------------- /assets/images/toolbar/arrow/upuparrows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/arrow/upuparrows.png -------------------------------------------------------------------------------- /assets/images/toolbar/brackets/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/brackets/1.png -------------------------------------------------------------------------------- /assets/images/toolbar/brackets/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/brackets/2.png -------------------------------------------------------------------------------- /assets/images/toolbar/brackets/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/brackets/3.png -------------------------------------------------------------------------------- /assets/images/toolbar/brackets/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/brackets/4.png -------------------------------------------------------------------------------- /assets/images/toolbar/btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/btn.png -------------------------------------------------------------------------------- /assets/images/toolbar/button/brackets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/button/brackets.png -------------------------------------------------------------------------------- /assets/images/toolbar/button/down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/button/down.png -------------------------------------------------------------------------------- /assets/images/toolbar/button/frac.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/button/frac.png -------------------------------------------------------------------------------- /assets/images/toolbar/button/fx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/button/fx.png -------------------------------------------------------------------------------- /assets/images/toolbar/button/int.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/button/int.png -------------------------------------------------------------------------------- /assets/images/toolbar/button/lim.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/button/lim.png -------------------------------------------------------------------------------- /assets/images/toolbar/button/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/button/open.png -------------------------------------------------------------------------------- /assets/images/toolbar/button/script.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/button/script.png -------------------------------------------------------------------------------- /assets/images/toolbar/button/sin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/button/sin.png -------------------------------------------------------------------------------- /assets/images/toolbar/button/sqrt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/button/sqrt.png -------------------------------------------------------------------------------- /assets/images/toolbar/button/sum.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/button/sum.png -------------------------------------------------------------------------------- /assets/images/toolbar/button/tick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/button/tick.png -------------------------------------------------------------------------------- /assets/images/toolbar/button/up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/button/up.png -------------------------------------------------------------------------------- /assets/images/toolbar/char.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/bb/a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/bb/a.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/bb/b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/bb/b.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/bb/c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/bb/c.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/bb/d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/bb/d.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/bb/e.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/bb/e.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/bb/f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/bb/f.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/bb/g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/bb/g.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/bb/h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/bb/h.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/bb/i.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/bb/i.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/bb/j.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/bb/j.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/bb/k.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/bb/k.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/bb/l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/bb/l.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/bb/m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/bb/m.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/bb/n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/bb/n.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/bb/o.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/bb/o.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/bb/p.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/bb/p.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/bb/q.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/bb/q.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/bb/r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/bb/r.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/bb/s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/bb/s.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/bb/t.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/bb/t.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/bb/u.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/bb/u.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/bb/v.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/bb/v.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/bb/w.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/bb/w.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/bb/x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/bb/x.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/bb/y.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/bb/y.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/bb/z.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/bb/z.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/cal/a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/cal/a.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/cal/b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/cal/b.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/cal/c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/cal/c.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/cal/d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/cal/d.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/cal/e.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/cal/e.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/cal/f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/cal/f.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/cal/g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/cal/g.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/cal/h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/cal/h.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/cal/i.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/cal/i.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/cal/j.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/cal/j.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/cal/k.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/cal/k.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/cal/l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/cal/l.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/cal/m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/cal/m.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/cal/n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/cal/n.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/cal/o.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/cal/o.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/cal/p.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/cal/p.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/cal/q.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/cal/q.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/cal/r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/cal/r.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/cal/s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/cal/s.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/cal/t.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/cal/t.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/cal/u.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/cal/u.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/cal/v.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/cal/v.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/cal/w.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/cal/w.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/cal/x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/cal/x.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/cal/y.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/cal/y.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/cal/z.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/cal/z.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/a.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/b.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/c.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/d.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/e.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/e.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/f.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/g.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/h.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/i.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/i.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/j.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/j.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/k.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/k.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/l.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/m.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/n.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/o.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/o.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/p.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/p.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/q.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/q.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/r.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/s.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/t.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/t.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/u.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/u.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/ua.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/ua.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/ub.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/ub.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/uc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/uc.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/ud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/ud.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/ue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/ue.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/uf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/uf.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/ug.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/ug.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/uh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/uh.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/ui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/ui.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/uj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/uj.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/uk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/uk.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/ul.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/ul.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/um.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/um.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/un.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/un.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/uo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/uo.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/up.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/uq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/uq.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/ur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/ur.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/us.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/us.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/ut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/ut.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/uu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/uu.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/uv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/uv.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/uw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/uw.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/ux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/ux.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/uy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/uy.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/uz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/uz.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/v.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/v.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/w.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/w.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/x.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/y.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/y.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/frak/z.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/frak/z.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/lower/alpha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/lower/alpha.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/lower/beta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/lower/beta.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/lower/chi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/lower/chi.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/lower/delta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/lower/delta.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/lower/epsilon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/lower/epsilon.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/lower/eta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/lower/eta.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/lower/gamma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/lower/gamma.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/lower/iota.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/lower/iota.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/lower/kappa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/lower/kappa.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/lower/lambda.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/lower/lambda.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/lower/mu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/lower/mu.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/lower/nu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/lower/nu.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/lower/omega.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/lower/omega.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/lower/omicron.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/lower/omicron.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/lower/phi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/lower/phi.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/lower/pi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/lower/pi.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/lower/psi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/lower/psi.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/lower/rho.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/lower/rho.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/lower/sigma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/lower/sigma.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/lower/tau.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/lower/tau.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/lower/theta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/lower/theta.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/lower/upsilon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/lower/upsilon.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/lower/xi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/lower/xi.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/lower/zeta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/lower/zeta.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/misc/digamma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/misc/digamma.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/misc/varepsilon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/misc/varepsilon.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/misc/varkappa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/misc/varkappa.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/misc/varphi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/misc/varphi.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/misc/varpi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/misc/varpi.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/misc/varrho.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/misc/varrho.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/misc/varsigma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/misc/varsigma.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/misc/vartheta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/misc/vartheta.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/upper/alpha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/upper/alpha.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/upper/beta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/upper/beta.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/upper/chi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/upper/chi.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/upper/delta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/upper/delta.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/upper/epsilon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/upper/epsilon.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/upper/eta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/upper/eta.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/upper/gamma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/upper/gamma.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/upper/iota.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/upper/iota.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/upper/kappa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/upper/kappa.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/upper/lambda.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/upper/lambda.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/upper/mu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/upper/mu.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/upper/nu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/upper/nu.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/upper/omega.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/upper/omega.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/upper/omicron.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/upper/omicron.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/upper/phi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/upper/phi.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/upper/pi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/upper/pi.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/upper/psi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/upper/psi.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/upper/rho.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/upper/rho.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/upper/sigma.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/upper/sigma.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/upper/tau.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/upper/tau.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/upper/theta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/upper/theta.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/upper/upsilon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/upper/upsilon.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/upper/xi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/upper/xi.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/greek/upper/zeta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/greek/upper/zeta.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/aleph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/aleph.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/approx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/approx.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/ast.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/ast.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/baifenhao.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/baifenhao.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/because.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/because.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/beth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/beth.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/blacksquare.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/blacksquare.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/cap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/cap.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/cdot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/cdot.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/circ.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/circ.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/cong.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/cong.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/cup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/cup.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/ddots.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/ddots.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/div.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/div.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/downarrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/downarrow.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/eq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/eq.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/equiv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/equiv.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/exists.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/exists.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/forall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/forall.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/geq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/geq.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/gets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/gets.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/gg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/gg.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/gt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/gt.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/in.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/in.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/infty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/infty.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/leftrightarrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/leftrightarrow.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/leq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/leq.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/ll.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/ll.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/lt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/lt.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/minus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/minus.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/mp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/mp.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/neg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/neg.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/nexists.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/nexists.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/ni.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/ni.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/partial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/partial.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/plus.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/pm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/pm.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/propto.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/propto.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/sim.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/sim.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/simeq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/simeq.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/surd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/surd.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/tanhao.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/tanhao.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/therefore.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/therefore.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/times.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/times.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/to.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/to.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/uparrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/uparrow.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/varnothing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/varnothing.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/math/vdots.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/math/vdots.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/not/gneqq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/not/gneqq.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/not/gnsim.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/not/gnsim.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/not/lneqq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/not/lneqq.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/not/lnsim.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/not/lnsim.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/not/nVdash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/not/nVdash.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/not/nbdash-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/not/nbdash-1.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/not/ncong.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/not/ncong.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/not/neq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/not/neq.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/not/nequiv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/not/nequiv.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/not/nexists.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/not/nexists.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/not/ngeq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/not/ngeq.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/not/ngtr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/not/ngtr.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/not/nleq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/not/nleq.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/not/nless.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/not/nless.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/not/nmid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/not/nmid.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/not/notin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/not/notin.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/not/nparallel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/not/nparallel.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/not/nprec.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/not/nprec.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/not/nsim.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/not/nsim.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/not/nsubseteq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/not/nsubseteq.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/not/nsucc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/not/nsucc.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/not/nsupseteq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/not/nsupseteq.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/not/ntriangleleft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/not/ntriangleleft.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/not/ntrianglelefteq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/not/ntrianglelefteq.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/not/ntriangleright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/not/ntriangleright.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/not/ntrianglerighteq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/not/ntrianglerighteq.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/not/nvdash-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/not/nvdash-1.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/not/nvdash-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/not/nvdash-2.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/not/nvdash-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/not/nvdash-3.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/not/nvdash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/not/nvdash.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/not/precnsim.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/not/precnsim.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/not/subsetneq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/not/subsetneq.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/not/succnsim.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/not/succnsim.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/not/supsetneq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/not/supsetneq.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/a.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/b.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/c.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/d.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/e.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/e.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/f.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/g.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/h.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/i.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/i.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/j.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/j.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/k.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/k.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/l.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/m.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/n.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/n.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/o.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/o.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/p.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/p.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/q.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/q.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/r.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/s.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/t.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/t.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/u.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/u.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/ua.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/ua.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/ub.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/ub.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/uc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/uc.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/ud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/ud.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/ue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/ue.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/uf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/uf.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/ug.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/ug.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/uh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/uh.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/ui.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/ui.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/uj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/uj.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/uk.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/uk.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/ul.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/ul.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/um.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/um.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/un.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/un.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/uo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/uo.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/up.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/uq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/uq.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/ur.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/ur.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/us.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/us.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/ut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/ut.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/uu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/uu.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/uv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/uv.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/uw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/uw.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/ux.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/ux.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/uy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/uy.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/uz.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/uz.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/v.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/v.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/w.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/w.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/x.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/y.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/y.png -------------------------------------------------------------------------------- /assets/images/toolbar/char/rm/z.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/char/rm/z.png -------------------------------------------------------------------------------- /assets/images/toolbar/frac/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/frac/1.png -------------------------------------------------------------------------------- /assets/images/toolbar/frac/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/frac/2.png -------------------------------------------------------------------------------- /assets/images/toolbar/frac/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/frac/3.png -------------------------------------------------------------------------------- /assets/images/toolbar/frac/c1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/frac/c1.png -------------------------------------------------------------------------------- /assets/images/toolbar/frac/c2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/frac/c2.png -------------------------------------------------------------------------------- /assets/images/toolbar/frac/c4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/frac/c4.png -------------------------------------------------------------------------------- /assets/images/toolbar/frac/c5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/frac/c5.png -------------------------------------------------------------------------------- /assets/images/toolbar/func/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/func/1.png -------------------------------------------------------------------------------- /assets/images/toolbar/func/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/func/2.png -------------------------------------------------------------------------------- /assets/images/toolbar/func/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/func/3.png -------------------------------------------------------------------------------- /assets/images/toolbar/func/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/func/4.png -------------------------------------------------------------------------------- /assets/images/toolbar/func/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/func/5.png -------------------------------------------------------------------------------- /assets/images/toolbar/func/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/func/6.png -------------------------------------------------------------------------------- /assets/images/toolbar/func/c1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/func/c1.png -------------------------------------------------------------------------------- /assets/images/toolbar/func/c2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/func/c2.png -------------------------------------------------------------------------------- /assets/images/toolbar/func/c3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/func/c3.png -------------------------------------------------------------------------------- /assets/images/toolbar/int/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/int/1.png -------------------------------------------------------------------------------- /assets/images/toolbar/int/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/int/2.png -------------------------------------------------------------------------------- /assets/images/toolbar/int/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/int/3.png -------------------------------------------------------------------------------- /assets/images/toolbar/int/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/int/4.png -------------------------------------------------------------------------------- /assets/images/toolbar/int/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/int/5.png -------------------------------------------------------------------------------- /assets/images/toolbar/int/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/int/6.png -------------------------------------------------------------------------------- /assets/images/toolbar/large/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/large/1.png -------------------------------------------------------------------------------- /assets/images/toolbar/large/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/large/2.png -------------------------------------------------------------------------------- /assets/images/toolbar/large/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/large/3.png -------------------------------------------------------------------------------- /assets/images/toolbar/other.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/other.png -------------------------------------------------------------------------------- /assets/images/toolbar/script/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/script/1.png -------------------------------------------------------------------------------- /assets/images/toolbar/script/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/script/2.png -------------------------------------------------------------------------------- /assets/images/toolbar/script/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/script/3.png -------------------------------------------------------------------------------- /assets/images/toolbar/script/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/script/4.png -------------------------------------------------------------------------------- /assets/images/toolbar/script/c1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/script/c1.png -------------------------------------------------------------------------------- /assets/images/toolbar/script/c2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/script/c2.png -------------------------------------------------------------------------------- /assets/images/toolbar/script/c3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/script/c3.png -------------------------------------------------------------------------------- /assets/images/toolbar/sqrt/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/sqrt/1.png -------------------------------------------------------------------------------- /assets/images/toolbar/sqrt/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/sqrt/2.png -------------------------------------------------------------------------------- /assets/images/toolbar/sqrt/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/sqrt/3.png -------------------------------------------------------------------------------- /assets/images/toolbar/sqrt/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/sqrt/4.png -------------------------------------------------------------------------------- /assets/images/toolbar/sqrt/c1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/sqrt/c1.png -------------------------------------------------------------------------------- /assets/images/toolbar/sqrt/c2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/sqrt/c2.png -------------------------------------------------------------------------------- /assets/images/toolbar/ys/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/ys/1.png -------------------------------------------------------------------------------- /assets/images/toolbar/ys/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/ys/2.png -------------------------------------------------------------------------------- /assets/images/toolbar/ys/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/images/toolbar/ys/3.png -------------------------------------------------------------------------------- /assets/styles/base.css: -------------------------------------------------------------------------------- 1 | 2 | .kf-editor { 3 | width: 100%; 4 | height: 100%; 5 | border: 1px solid #e0e0e0; 6 | position: relative; 7 | top: 0; 8 | left: 0; 9 | 10 | overflow: hidden; 11 | z-index: 2; 12 | background-color: #f6f5ee; 13 | } 14 | 15 | .kf-editor-edit-area { 16 | position: relative; 17 | top: 0; 18 | left: 0; 19 | 20 | z-index: 1; 21 | height: 0; 22 | background-color: white; 23 | /*background-color: white;*/ 24 | /*background-size: 21px 21px;*/ 25 | /*background-position: 0 0,10px 10px;*/ 26 | /*background-image: -webkit-linear-gradient(45deg,#efefef 25%,transparent 25%,transparent 75%,#efefef 75%,#efefef),-webkit-linear-gradient(45deg,#efefef 25%,transparent 25%,transparent 75%,#efefef 75%,#efefef);*/ 27 | /*background-image: linear-gradient(45deg,#efefef 25%,transparent 25%,transparent 75%,#efefef 75%,#efefef),linear-gradient(45deg,#efefef 25%,transparent 25%,transparent 75%,#efefef 75%,#efefef);*/ 28 | } 29 | 30 | .kf-editor-canvas-container { 31 | width: 100%; 32 | height: 100%; 33 | } 34 | 35 | .kf-editor-input-box { 36 | position: fixed; 37 | top: 0; 38 | left: -99999999px; 39 | z-index: 999999; 40 | } -------------------------------------------------------------------------------- /assets/styles/page.css: -------------------------------------------------------------------------------- 1 | 2 | html, body { 3 | width: 100%; 4 | height: 100%; 5 | padding: 0; 6 | margin: 0; 7 | background: rgba( 48, 48, 48, 0.5 ); 8 | } 9 | 10 | body { 11 | height: 1000px; 12 | } 13 | -------------------------------------------------------------------------------- /assets/styles/scrollbar.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * 滚动条 3 | **/ 4 | 5 | .kf-editor-edit-scrollbar { 6 | width: 100%; 7 | height: 16px; 8 | position: absolute; 9 | bottom: 0; 10 | left: 0; 11 | z-index: 994; 12 | border-top: 1px solid #ddd; 13 | } 14 | 15 | .kf-editor-ui-left-button { 16 | position: absolute; 17 | top: 0; 18 | left: 0; 19 | width: 5px; 20 | height: 100%; 21 | background: white; 22 | } 23 | 24 | .kf-editor-ui-right-button { 25 | position: absolute; 26 | top: 0; 27 | right: 0; 28 | width: 5px; 29 | height: 100%; 30 | background: white; 31 | } 32 | 33 | .kf-editor-ui-track { 34 | position: absolute; 35 | top: 0; 36 | left: 5px; 37 | width: 0; 38 | height: 100%; 39 | background-image: url(../images/scrollbar/edit/bar-left.png), url(../images/scrollbar/edit/bar-right.png), url(../images/scrollbar/edit/bar-bg.png); 40 | background-repeat: no-repeat, no-repeat, repeat-x; 41 | background-position: 0 0, right 0, 0 0; 42 | } 43 | 44 | .kf-editor-ui-thumb { 45 | position: absolute; 46 | top: 0; 47 | left: 0; 48 | width: 0; 49 | height: 100%; 50 | } 51 | 52 | .kf-editor-ui-thumb-left { 53 | width: 5px; 54 | height: 100%; 55 | position: absolute; 56 | top: 0; 57 | left: 0; 58 | background: url(../images/scrollbar/edit/thumb-left.png) no-repeat 0 0; 59 | z-index: 1; 60 | } 61 | 62 | .kf-editor-ui-thumb-right { 63 | width: 5px; 64 | height: 100%; 65 | position: absolute; 66 | top: 0; 67 | right: 0; 68 | background: url(../images/scrollbar/edit/thumb-right.png) no-repeat 0 0; 69 | } 70 | 71 | .kf-editor-ui-thumb-body { 72 | position: absolute; 73 | top: 0; 74 | left: 5px; 75 | width: 0; 76 | height: 100%; 77 | background: url(../images/scrollbar/edit/thumb-bg.png) repeat-x 0 0; 78 | } -------------------------------------------------------------------------------- /assets/theme/default/images/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/theme/default/images/close.png -------------------------------------------------------------------------------- /assets/theme/default/images/down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/theme/default/images/down.png -------------------------------------------------------------------------------- /assets/theme/default/images/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/theme/default/images/open.png -------------------------------------------------------------------------------- /assets/theme/default/images/up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/assets/theme/default/images/up.png -------------------------------------------------------------------------------- /build/sprites.button.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * icon生成器: 按钮ICON 3 | */ 4 | 5 | ( function () { 6 | 7 | 'use strict'; 8 | 9 | var config = window.iconConfig, 10 | canvas = document.createElement( 'canvas' ), 11 | ctx = null, 12 | maxHeight = 0, 13 | lastOffset = 0, 14 | keySet = [], 15 | currentIndex = 0, 16 | padding = 5, 17 | position = {}; 18 | 19 | //------------------------ init 20 | ( function () { 21 | config = { 22 | fx: "/kityformula-editor/assets/images/toolbar/button/fx.png", 23 | frac: "/kityformula-editor/assets/images/toolbar/button/frac.png", 24 | script: "/kityformula-editor/assets/images/toolbar/button/script.png", 25 | sqrt: "/kityformula-editor/assets/images/toolbar/button/sqrt.png", 26 | int: "/kityformula-editor/assets/images/toolbar/button/int.png", 27 | sum: "/kityformula-editor/assets/images/toolbar/button/sum.png", 28 | brackets: "/kityformula-editor/assets/images/toolbar/button/brackets.png", 29 | sin: "/kityformula-editor/assets/images/toolbar/button/sin.png", 30 | up: "/kityformula-editor/assets/images/toolbar/button/up.png", 31 | down: "/kityformula-editor/assets/images/toolbar/button/down.png", 32 | open: "/kityformula-editor/assets/images/toolbar/button/open.png", 33 | tick: "/kityformula-editor/assets/images/toolbar/button/tick.png" 34 | }; 35 | initCanvas(); 36 | } )(); 37 | 38 | //----------------------- start 39 | window.onload = function () { 40 | 41 | createSprites( config ); 42 | 43 | }; 44 | 45 | //------------------------- end 46 | 47 | function initCanvas () { 48 | 49 | canvas.width = 20000; 50 | canvas.height = 1000; 51 | 52 | ctx = canvas.getContext( '2d' ); 53 | 54 | } 55 | 56 | /** 57 | * 输出最终结果 58 | */ 59 | function outputResult () { 60 | 61 | var imageData = ctx.getImageData( 0, 0, lastOffset, maxHeight); 62 | 63 | canvas.width = lastOffset; 64 | canvas.height = maxHeight; 65 | 66 | ctx.putImageData( imageData, 0, 0 ); 67 | 68 | var dataUrl = canvas.toDataURL(); 69 | 70 | console.log( dataUrl ) 71 | console.log( JSON.stringify( position, null, 4 ) ) 72 | 73 | } 74 | 75 | function createSprites ( conf ) { 76 | 77 | for ( var key in conf ) { 78 | 79 | if ( !conf.hasOwnProperty( key ) ) { 80 | continue; 81 | } 82 | 83 | keySet.push( key ); 84 | 85 | } 86 | 87 | if ( keySet.length ) { 88 | next(); 89 | } 90 | 91 | } 92 | 93 | function next () { 94 | 95 | var key = keySet[ currentIndex ]; 96 | 97 | if ( !key ) { 98 | return outputResult(); 99 | } 100 | 101 | createImage( key, config[ key ], function () { 102 | 103 | next(); 104 | 105 | } ); 106 | 107 | currentIndex++; 108 | 109 | } 110 | 111 | function createImage ( key, imgSrc, callback ) { 112 | 113 | var image = new Image(), 114 | offset = 0; 115 | 116 | image.onload = function () { 117 | 118 | offset =lastOffset; 119 | 120 | if ( offset !== 0 ) { 121 | offset += padding; 122 | } 123 | 124 | ctx.drawImage( image, offset, 0 ); 125 | 126 | lastOffset = offset + image.width; 127 | 128 | maxHeight = Math.max( maxHeight, image.height ); 129 | 130 | position[ key ] = { 131 | x: offset, 132 | y: 0 133 | }; 134 | 135 | image.onload = null; 136 | image = null; 137 | 138 | callback(); 139 | 140 | }; 141 | 142 | image.src = imgSrc; 143 | 144 | } 145 | 146 | } )(); 147 | -------------------------------------------------------------------------------- /build/sprites.char.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * icon生成器: 特殊字符区域 3 | */ 4 | 5 | ( function () { 6 | 7 | 'use strict'; 8 | 9 | var config = window.iconConfig, 10 | root = 'http://localhost/kityformula-editor/', 11 | result = {}, 12 | padding = 5, 13 | canvas = null, 14 | row = 0, 15 | COUNT = 0, 16 | // 单行最大icon数 17 | iconCountInLine = 30, 18 | positionData = null, 19 | spritesData = {}; 20 | 21 | // 特殊字符icon配置区 22 | config = config[2].options.box.group; 23 | 24 | config.forEach( function ( conf, index ) { 25 | 26 | result[ conf.title ] = {}; 27 | process( conf.items, result[ conf.title ] ); 28 | 29 | } ); 30 | 31 | window.onload = function () { 32 | 33 | var ctx = null; 34 | canvas = document.createElement( 'canvas' ); 35 | 36 | canvas.width = 10000; 37 | canvas.height = 500; 38 | ctx = canvas.getContext( '2d' ); 39 | ctx.save(); 40 | ctx.fillStyle = 'white'; 41 | ctx.fillRect( 0, 0, canvas.width, canvas.height ); 42 | ctx.restore(); 43 | positionData = createSprites(); 44 | }; 45 | 46 | function outImageDataUrl () { 47 | 48 | var newCanvas = document.createElement( 'canvas' ), 49 | dataUrl = null, 50 | ctx = newCanvas.getContext( '2d' ), 51 | col = COUNT > iconCountInLine ? iconCountInLine : COUNT, 52 | row = Math.ceil( COUNT / iconCountInLine ), 53 | width = col * ( 32 + padding ) + padding, 54 | height = row * ( 32 + padding ); 55 | 56 | newCanvas.width = width; 57 | newCanvas.height = height; 58 | 59 | var imgData = canvas.getContext( '2d' ).getImageData( 0, 0, width, height ); 60 | 61 | ctx.putImageData( imgData, 0, 0 ); 62 | dataUrl = newCanvas.toDataURL( 'iamge/jpeg' ); 63 | 64 | console.log(dataUrl) 65 | // console.log( JSON.stringify( positionData, null, 4 ) ) 66 | 67 | } 68 | 69 | function process ( data, storage ) { 70 | 71 | data.forEach( function ( d ) { 72 | 73 | var currentData = null; 74 | 75 | storage[ d.title ] = {}; 76 | currentData = d.content; 77 | 78 | processRow( currentData, storage[ d.title ] ); 79 | 80 | } ); 81 | 82 | } 83 | 84 | // 雪碧图中的一行 85 | function processRow ( data, storage ) { 86 | 87 | data.forEach( function ( currentData ) { 88 | 89 | currentData = currentData.item; 90 | storage[ currentData.val ] = root + currentData.show; 91 | 92 | } ); 93 | 94 | } 95 | 96 | function createSprites () { 97 | 98 | var tmpResult = {}, 99 | count = 0, 100 | tmp = {}; 101 | 102 | // ---------------- 把原始config里的结构化数据打散成为单层结构的数据 103 | for ( var key in result ) { 104 | 105 | if ( result.hasOwnProperty( key ) ) { 106 | for ( var jk in result[ key ] ) { 107 | if ( result[ key ].hasOwnProperty( jk ) ) { 108 | for ( var ck in result[ key ][ jk ] ) { 109 | if ( result[ key ][ jk ].hasOwnProperty( ck ) ) { 110 | tmp[ ck ] = result[ key ][ jk ][ck]; 111 | } 112 | } 113 | } 114 | } 115 | } 116 | 117 | } 118 | //--------------- 结构处理完毕 119 | 120 | result = tmp; 121 | tmp = null; 122 | 123 | for ( var key in result ) { 124 | count++; 125 | COUNT++; 126 | tmpResult[ key ] = createImage( result[ key ], count-1, function () { 127 | count--; 128 | if ( count === 0 ) { 129 | outImageDataUrl(); 130 | } 131 | } ); 132 | } 133 | 134 | return tmpResult; 135 | 136 | } 137 | 138 | function createImage ( src, index, callback ) { 139 | 140 | var col = index % iconCountInLine, 141 | row = Math.floor( index / iconCountInLine ), 142 | result = { 143 | x: col * ( 32 + padding ) + padding, 144 | y: row * ( 32 + padding ) 145 | }; 146 | 147 | readImageData( src, canvas, col, row, function () { 148 | callback(); 149 | } ); 150 | 151 | return result; 152 | 153 | } 154 | 155 | function readImageData ( src, canvas, col, row, callback ) { 156 | 157 | var img = new Image(), 158 | ctx = canvas.getContext( "2d" ); 159 | 160 | img.onload = function () { 161 | 162 | ctx.drawImage( img, col * ( 32+padding ) + padding, row * ( 32 + padding ) ); 163 | callback(); 164 | 165 | }; 166 | 167 | img.src = src; 168 | 169 | } 170 | 171 | } )(); 172 | -------------------------------------------------------------------------------- /build/sprites.other.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * icon生成器: 其他区域, 不包含特殊字符 3 | */ 4 | 5 | ( function () { 6 | 7 | 'use strict'; 8 | 9 | var config = window.iconConfig, 10 | canvas = document.createElement( 'canvas' ), 11 | ctx = null, 12 | maxHeight = 0, 13 | lastOffset = 0, 14 | padding = 5, 15 | position = {}, 16 | root = '/kityformula-editor/'; 17 | 18 | //------------------------ init 19 | ( function () { 20 | config = filteConfig( config ); 21 | initCanvas(); 22 | } )(); 23 | 24 | //----------------------- start 25 | window.onload = function () { 26 | 27 | createSprites( config ); 28 | 29 | }; 30 | 31 | //------------------------- end 32 | 33 | function initCanvas () { 34 | 35 | canvas.width = 20000; 36 | canvas.height = 1000; 37 | 38 | ctx = canvas.getContext( '2d' ); 39 | 40 | ctx.save(); 41 | ctx.fillStyle = 'white'; 42 | ctx.fillRect( 0, 0, canvas.width, canvas.height ); 43 | ctx.restore(); 44 | 45 | } 46 | 47 | function filteConfig ( config ) { 48 | 49 | var result = {}; 50 | 51 | config = config.slice( 0, 2 ).concat( config.slice( 3 ) ); 52 | 53 | kity.Utils.each( config, function ( conf ) { 54 | 55 | if ( conf.type !== 1 ) { 56 | return; 57 | } 58 | 59 | var group = conf.options.box.group; 60 | 61 | processGroup( group, result ); 62 | 63 | } ); 64 | 65 | return result; 66 | 67 | } 68 | 69 | /** 70 | * 输出最终结果 71 | */ 72 | function outputResult () { 73 | 74 | var imageData = ctx.getImageData( 0, 0, lastOffset, maxHeight); 75 | 76 | canvas.width = lastOffset; 77 | canvas.height = maxHeight; 78 | 79 | ctx.putImageData( imageData, 0, 0 ); 80 | 81 | var dataUrl = canvas.toDataURL(); 82 | 83 | console.log( dataUrl ) 84 | console.log( JSON.stringify( position, null, 4 ) ) 85 | 86 | } 87 | 88 | function processGroup ( group, result ) { 89 | 90 | kity.Utils.each( group, function ( gData ) { 91 | 92 | processItems( gData.items, result ); 93 | 94 | } ); 95 | 96 | } 97 | 98 | function processItems ( items, result ) { 99 | 100 | kity.Utils.each( items, function ( item ) { 101 | 102 | processItem( item.content, result ); 103 | 104 | } ); 105 | 106 | } 107 | 108 | function processItem ( item, result ) { 109 | 110 | kity.Utils.each( item, function ( data ) { 111 | 112 | data = data.item; 113 | 114 | result[ data.val ] = data.show; 115 | 116 | } ); 117 | 118 | } 119 | 120 | function createSprites ( conf ) { 121 | 122 | var count = 0; 123 | 124 | for ( var key in conf ) { 125 | 126 | if ( !conf.hasOwnProperty( key ) ) { 127 | continue; 128 | } 129 | 130 | count++; 131 | 132 | createImage( key, conf[ key ], function ( x ) { 133 | 134 | count--; 135 | 136 | if ( count === 0 ) { 137 | outputResult(); 138 | } 139 | 140 | } ); 141 | 142 | } 143 | 144 | } 145 | 146 | function createImage ( key, imgSrc, callback ) { 147 | 148 | var image = new Image(), 149 | offset = 0; 150 | 151 | image.onload = function () { 152 | 153 | offset =lastOffset; 154 | 155 | if ( offset !== 0 ) { 156 | offset += padding; 157 | } 158 | 159 | ctx.drawImage( image, offset, 0 ); 160 | 161 | lastOffset = offset + image.width; 162 | 163 | maxHeight = Math.max( maxHeight, image.height ); 164 | 165 | position[ key ] = { 166 | pos: { 167 | x: offset, 168 | y: 0 169 | }, 170 | size: { 171 | width: image.width, 172 | height: image.height 173 | } 174 | }; 175 | 176 | image.onload = null; 177 | image = null; 178 | 179 | callback( offset ); 180 | 181 | }; 182 | 183 | image.src = imgSrc; 184 | 185 | } 186 | 187 | } )(); 188 | -------------------------------------------------------------------------------- /config/conf.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by hn on 14-7-28. 3 | */ 4 | 5 | var KFE_UI_CONFIG = { 6 | 7 | clazz: 'Panel', 8 | className: 'kfe-editor', 9 | widgets: [ 10 | 11 | { 12 | clazz: 'Panel', 13 | className: 'kfe-toolbar', 14 | widgets: [ { 15 | 16 | } ] 17 | }, 18 | 19 | { 20 | clazz: 'Panel', 21 | className: 'kfe-edit-area' 22 | } 23 | 24 | ] 25 | 26 | }; -------------------------------------------------------------------------------- /dev-lib/dev-define.js: -------------------------------------------------------------------------------- 1 | /** 2 | * cmd 内部定义 3 | * 开发用 4 | */ 5 | 6 | ( function ( global ) { 7 | 8 | var _modules = {}, 9 | // 记录模块执行顺序的key列表 10 | keyList = [], 11 | loaded = {}; 12 | 13 | global.inc = { 14 | 15 | base: '', 16 | 17 | config: function ( options ) { 18 | 19 | this.base = options.base || ''; 20 | 21 | }, 22 | 23 | record: function ( key ) { 24 | keyList.push( key ); 25 | }, 26 | 27 | use: function ( id ) { 28 | 29 | return require( id ); 30 | 31 | }, 32 | 33 | remove: function ( node ) { 34 | 35 | node.parentNode.removeChild( node ); 36 | 37 | } 38 | 39 | }; 40 | 41 | global.define = function ( id, deps, f ) { 42 | 43 | var argLen = arguments.length, 44 | module = null; 45 | 46 | switch ( argLen ) { 47 | 48 | case 1: 49 | f = id; 50 | id = keyList.shift(); 51 | break; 52 | 53 | case 2: 54 | if ( typeof id === 'string' ) { 55 | 56 | f = deps; 57 | 58 | } else { 59 | 60 | f = deps; 61 | id = keyList.shift(); 62 | 63 | } 64 | 65 | break; 66 | 67 | } 68 | 69 | module = _modules[ id ] = { 70 | 71 | exports: {}, 72 | value: null, 73 | factory: null 74 | 75 | }; 76 | 77 | loadDeps( f ); 78 | 79 | if ( typeof f === 'function' ) { 80 | 81 | module.factory = f; 82 | 83 | } else { 84 | 85 | module.value = f; 86 | 87 | } 88 | 89 | } 90 | 91 | function require ( id ) { 92 | 93 | var exports = {}, 94 | module = _modules[ id ]; 95 | 96 | if ( module.value ) { 97 | 98 | return module.value; 99 | 100 | } 101 | 102 | exports = module.factory( require, module.exports, module ); 103 | 104 | if ( exports ) { 105 | 106 | module.exports = exports; 107 | 108 | } 109 | 110 | module.value = module.exports; 111 | module.exports = null; 112 | module.factory = null; 113 | 114 | return module.value; 115 | 116 | } 117 | 118 | function loadDeps ( factory ) { 119 | 120 | var deps = null, 121 | pathname = location.pathname, 122 | uri = location.protocol + '//' + location.host; 123 | 124 | pathname = pathname.split( '/'); 125 | 126 | if ( pathname[ pathname.length - 1 ] !== '' ) { 127 | 128 | pathname[ pathname.length - 1 ] = ''; 129 | 130 | } 131 | 132 | uri += pathname.join( '/' ); 133 | 134 | if ( typeof factory === 'function' ) { 135 | 136 | deps = loadDepsByFunction( factory ); 137 | 138 | } else { 139 | 140 | // 未处理object的情况 141 | return; 142 | 143 | } 144 | 145 | for ( var i = 0, len = deps.length; i < len; i++ ) { 146 | 147 | var key = deps[ i ]; 148 | 149 | if ( loaded[ key ] ) { 150 | continue; 151 | } 152 | 153 | loaded[ key ] = true; 154 | 155 | document.write( '' ); 156 | document.write( '' ); 157 | 158 | } 159 | 160 | } 161 | 162 | function loadDepsByFunction ( factory ) { 163 | 164 | var content = factory.toString(), 165 | match = null, 166 | deps = [], 167 | pattern = /require\s*\(\s*([^)]+?)\s*\)/g; 168 | 169 | while ( match = pattern.exec( content ) ) { 170 | 171 | deps.push( match[ 1 ].replace( /'|"/g, '' ) ); 172 | 173 | } 174 | 175 | return deps; 176 | 177 | } 178 | 179 | } )( this ); -------------------------------------------------------------------------------- /dev-lib/dev-start.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by hn on 13-12-4. 3 | */ 4 | // 启动脚本 5 | inc.use( 'kf.start' ); -------------------------------------------------------------------------------- /dev-lib/exports.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 启动代码 3 | */ 4 | 5 | ( function ( global ) { 6 | 7 | // build环境中才含有use 8 | try { 9 | use( 'kf.start' ); 10 | } catch ( e ) { 11 | } 12 | 13 | } )( this ); 14 | -------------------------------------------------------------------------------- /dev-lib/jhtmls.min.js: -------------------------------------------------------------------------------- 1 | var jhtmls="undefined"==typeof exports?jhtmls||{}:exports;void function(e){"use strict";function n(e){return String(e).replace(/["<>& ]/g,function(e){return"&"+u[e]+";"})}function t(e){var n=[];return n.push("with(this){"),n.push(e.replace(/<(script|style)[^>]*>[\s\S]*?<\/\1>/g,function(e){return['!#{unescape("',escape(e),'")}'].join("")}).replace(/[\r\n]+/g,"\n").replace(/^\n+|\s+$/gm,"").replace(/^([ \w\t_$]*([^&\^?|\n\w\/'"{}\[\]+\-():; \t=\.$_]|:\/\/).*$|^(?!\s*(else|do|try|finally|void|typeof\s[\w$_]*)\s*$)[^'":;{}()\n|=&\/^?]+$)\s?/gm,function(e){return e=e.replace(/&none;/g,"").replace(/["'\\]/g,"\\$&").replace(/\n/g,"\\n").replace(/(!?#)\{(.*?)\}|(!?\$)([a-z_]+\w*(?:\.[a-z_]+\w*)*)/g,function(e,n,t,r,u){if(r&&(n=r,t=u),!t)return"";t=t.replace(/\\n/g,"\n").replace(/\\([\\'"])/g,"$1");var o=/^[a-z$][\w+$]+$/i.test(t)&&!/^(true|false|NaN|null|this)$/.test(t);return["',",o?["typeof ",t,"==='undefined'?'':"].join(""):"","#"===n||"$"===n?"_encode_":"","(",t,"),'"].join("")}),e=["'",e,"'"].join("").replace(/^'',|,''$/g,""),e?["_output_.push(",e,");"].join(""):""})),n.push("}"),new Function("_output_","_encode_","helper","jhtmls",n.join(""))}function r(r,u,o){"function"==typeof r&&(r=String(r).replace(/^[^\{]*\{\s*\/\*!?[ \f\t\v]*\n?|[ \f\t\v]*\*\/[;|\s]*\}$/g,""));var i=t(r),s=function(t,r){r=r||e;var u=[];return i.call(t,u,n,r,e),u.join("")};return arguments.length<=1?s:s(u,o)}var u={'"':"quot","<":"lt",">":"gt","&":"amp"," ":"nbsp"};e.render=r}(jhtmls); 2 | //# sourceMappingURL=dist/jhtmls.min.js.map -------------------------------------------------------------------------------- /dev-lib/start.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * 启动模块 3 | */ 4 | 5 | define( 'kf.start', function ( require ) { 6 | 7 | var KFEditor = require( "editor/editor"), 8 | Factory = require( "editor/factory" ); 9 | 10 | // 注册组件 11 | KFEditor.registerComponents( "ui", require( "ui/ui" ) ); 12 | KFEditor.registerComponents( "parser", require( "parse/parser" ) ); 13 | KFEditor.registerComponents( "render", require( "render/render" ) ); 14 | KFEditor.registerComponents( "position", require( "position/position" ) ); 15 | KFEditor.registerComponents( "syntax", require( "syntax/syntax" ) ); 16 | KFEditor.registerComponents( "control", require( "control/controller" ) ); 17 | KFEditor.registerComponents( "print", require( "print/printer" ) ); 18 | 19 | kf.EditorFactory = Factory; 20 | 21 | } ); -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 公式编辑器 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 17 | 18 | 19 | 20 | 21 | 46 | 47 | 48 | 49 | 50 | 51 | 52 |
53 | 54 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "kityformula-editor", 3 | "title": "Kity Formula Editor", 4 | "description": "HTML(SVG) Formula display solutions", 5 | "version": "1.0.0", 6 | "homepage": "https://github.com/kitygraph/formula", 7 | "author": { 8 | "name": "Baidu Kity Group", 9 | "url": "http://ueditor.baidu.com" 10 | }, 11 | "repository": { 12 | "type": "git", 13 | "url": "https://github.com/kitygraph/formula.git" 14 | }, 15 | "keywords": [ 16 | "formula", 17 | "kity", 18 | "svg", 19 | "graphic", 20 | "javascript", 21 | "library" 22 | ], 23 | "bugs": { 24 | "url": "http://www.ueditorbbs.com/forum.php" 25 | }, 26 | "licenses": [ 27 | { 28 | "type": "MIT", 29 | "url": "https://github.com/jquery/jquery/blob/master/MIT-LICENSE.txt" 30 | } 31 | ], 32 | "dependencies": {}, 33 | "devDependencies": { 34 | "grunt": "~0.4.1", 35 | "grunt-contrib-concat": "~0.4.0", 36 | "grunt-contrib-uglify": "~0.2.6", 37 | "grunt-contrib-clean": "~0.5.0", 38 | "grunt-module-dependence": "~0.1.1", 39 | "grunt-contrib-jshint": "~0.10.0" 40 | } 41 | 42 | } -------------------------------------------------------------------------------- /resource/KF_AMS_BB.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/resource/KF_AMS_BB.woff -------------------------------------------------------------------------------- /resource/KF_AMS_CAL.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/resource/KF_AMS_CAL.woff -------------------------------------------------------------------------------- /resource/KF_AMS_FRAK.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/resource/KF_AMS_FRAK.woff -------------------------------------------------------------------------------- /resource/KF_AMS_MAIN.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/resource/KF_AMS_MAIN.woff -------------------------------------------------------------------------------- /resource/KF_AMS_ROMAN.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fex-team/kf-editor/b724e5e35caa985b8d866415948e2e2828acc316/resource/KF_AMS_ROMAN.woff -------------------------------------------------------------------------------- /src/base/common.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by hn on 14-3-17. 3 | */ 4 | 5 | define( function ( require ) { 6 | 7 | // copy保护 8 | var MAX_COPY_DEEP = 10, 9 | 10 | commonUtils = { 11 | extend: function ( target, source ) { 12 | 13 | var isDeep = false; 14 | 15 | if ( typeof target === "boolean" ) { 16 | isDeep = target; 17 | target = source; 18 | source = [].splice.call( arguments, 2 ); 19 | } else { 20 | source = [].splice.call( arguments, 1 ); 21 | } 22 | 23 | if ( !target ) { 24 | throw new Error( 'Utils: extend, target can not be empty' ); 25 | } 26 | 27 | commonUtils.each( source, function ( src ) { 28 | 29 | if ( src && typeof src === "object" || typeof src === "function" ) { 30 | 31 | copy( isDeep, target, src ); 32 | 33 | } 34 | 35 | } ); 36 | 37 | return target; 38 | 39 | }, 40 | 41 | /** 42 | * 返回给定节点parent是否包含target节点 43 | * @param parent 44 | * @param target 45 | */ 46 | contains: function ( parent, target ) { 47 | 48 | if ( parent.contains ) { 49 | return parent.contains( target ); 50 | } else if ( parent.compareDocumentPosition ) { 51 | return !!( parent.compareDocumentPosition( target ) & 16 ); 52 | } 53 | 54 | }, 55 | 56 | getRect: function ( node ) { 57 | return node.getBoundingClientRect(); 58 | }, 59 | 60 | isArray: function ( obj ) { 61 | return obj && ({}).toString.call( obj ) === "[object Array]"; 62 | }, 63 | 64 | isString: function ( obj ) { 65 | return typeof obj === "string"; 66 | }, 67 | 68 | proxy: function ( fn, context ) { 69 | 70 | return function () { 71 | return fn.apply( context, arguments ); 72 | }; 73 | 74 | }, 75 | 76 | each: function ( obj, fn ) { 77 | 78 | if ( !obj ) { 79 | return; 80 | } 81 | 82 | if ( 'length' in obj && typeof obj.length === "number" ) { 83 | 84 | for ( var i = 0, len = obj.length; i < len; i++ ) { 85 | 86 | if ( fn.call( null, obj[ i ], i, obj ) === false ) { 87 | break; 88 | } 89 | 90 | } 91 | 92 | } else { 93 | 94 | for ( var key in obj ) { 95 | 96 | if ( obj.hasOwnProperty( key ) ) { 97 | if ( fn.call( null, obj[ key ], key, obj ) === false ) { 98 | break; 99 | } 100 | } 101 | 102 | } 103 | 104 | } 105 | 106 | } 107 | }; 108 | 109 | function copy ( isDeep, target, source, count ) { 110 | 111 | count = count | 0; 112 | 113 | if ( count > MAX_COPY_DEEP ) { 114 | return source; 115 | } 116 | 117 | count++; 118 | 119 | commonUtils.each( source, function ( value, index, origin ) { 120 | 121 | if ( isDeep ) { 122 | 123 | if ( !value || ( typeof value !== "object" && typeof value !== "function" ) ) { 124 | target[ index ] = value; 125 | } else { 126 | target[ index ] = target[ index ] || ( commonUtils.isArray( value ) ? [] : {} ); 127 | target[ index ] = copy( isDeep, target[ index ], value, count ); 128 | } 129 | 130 | } else { 131 | target[ index ] = value; 132 | } 133 | 134 | } ); 135 | 136 | return target; 137 | 138 | } 139 | 140 | return commonUtils; 141 | 142 | } ); -------------------------------------------------------------------------------- /src/base/component.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * 组件抽象类,所有的组件都是该类的子类 3 | * @abstract 4 | */ 5 | 6 | define( function ( require ) { 7 | 8 | var kity = require( "kity" ); 9 | 10 | return kity.createClass( 'Component', { 11 | 12 | constructor: function () {} 13 | 14 | } ); 15 | 16 | } ); -------------------------------------------------------------------------------- /src/base/event/event.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * event模块 3 | */ 4 | 5 | /* jshint camelcase: false */ 6 | 7 | define( function ( require, exports, modules ) { 8 | 9 | var EVENT_LISTENER = {}, 10 | eid = 0, 11 | BEFORE_RESULT = true, 12 | KFEvent = require( "base/event/kfevent" ), 13 | commonUtils = require( "base/common" ), 14 | EVENT_HANDLER = function ( e ) { 15 | 16 | var type = e.type, 17 | target = e.target, 18 | eid = this.__kfe_eid, 19 | hasAutoTrigger = /^(?:before|after)/.test( type ), 20 | HANDLER_LIST = EVENT_LISTENER[ eid ][ type ]; 21 | 22 | if ( !hasAutoTrigger ) { 23 | 24 | EventListener.trigger( target, 'before' + type ); 25 | 26 | if ( BEFORE_RESULT === false ) { 27 | BEFORE_RESULT = true; 28 | return false; 29 | } 30 | 31 | } 32 | 33 | commonUtils.each( HANDLER_LIST, function ( handler, index ) { 34 | 35 | if ( !handler ) { 36 | return; 37 | } 38 | 39 | if ( handler.call( target, e ) === false ) { 40 | BEFORE_RESULT = false; 41 | return BEFORE_RESULT; 42 | } 43 | 44 | } ); 45 | 46 | if ( !hasAutoTrigger ) { 47 | 48 | EventListener.trigger( target, 'after' + type ); 49 | 50 | } 51 | 52 | }; 53 | 54 | var EventListener = { 55 | 56 | addEvent: function ( target, type, handler ) { 57 | 58 | var hasHandler = true, 59 | eventCache = null; 60 | 61 | if ( !target.__kfe_eid ) { 62 | hasHandler = false; 63 | target.__kfe_eid = generateId(); 64 | EVENT_LISTENER[ target.__kfe_eid ] = {}; 65 | } 66 | 67 | eventCache = EVENT_LISTENER[ target.__kfe_eid ]; 68 | 69 | if ( !eventCache[ type ] ) { 70 | hasHandler = false; 71 | eventCache[ type ] = []; 72 | } 73 | 74 | eventCache[ type ].push( handler ); 75 | 76 | if ( hasHandler ) { 77 | return; 78 | } 79 | 80 | target.addEventListener( type, EVENT_HANDLER, false ); 81 | 82 | }, 83 | 84 | trigger: function ( target, type, e ) { 85 | 86 | e = e || KFEvent.createEvent( type, e ); 87 | 88 | target.dispatchEvent( e ); 89 | 90 | } 91 | 92 | }; 93 | 94 | function generateId () { 95 | 96 | return ++eid; 97 | 98 | } 99 | 100 | return EventListener; 101 | 102 | } ); -------------------------------------------------------------------------------- /src/base/event/kfevent.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by hn on 14-3-17. 3 | */ 4 | 5 | define( function ( require ) { 6 | 7 | return { 8 | 9 | createEvent: function ( type, e ) { 10 | 11 | var evt = document.createEvent( 'Event' ); 12 | 13 | evt.initEvent( type, true, true ); 14 | 15 | return evt; 16 | 17 | } 18 | 19 | }; 20 | 21 | } ); -------------------------------------------------------------------------------- /src/base/utils.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * 基础工具包 3 | */ 4 | 5 | define( function ( require ) { 6 | 7 | var Utils = {}, 8 | commonUtils = require( "base/common" ); 9 | 10 | commonUtils.extend( Utils, commonUtils, require( "base/event/event" ) ); 11 | 12 | return Utils; 13 | 14 | } ); 15 | -------------------------------------------------------------------------------- /src/control/controller.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by hn on 14-4-11. 3 | */ 4 | 5 | define( function ( require ) { 6 | 7 | var kity = require( "kity" ), 8 | 9 | ListenerComponent = require( "control/listener" ), 10 | 11 | ControllerComponent = kity.createClass( 'ControllerComponent', { 12 | 13 | constructor: function ( kfEditor ) { 14 | 15 | this.kfEditor = kfEditor; 16 | 17 | this.components = {}; 18 | 19 | this.initComponents(); 20 | 21 | }, 22 | 23 | initComponents: function () { 24 | 25 | this.components.listener = new ListenerComponent( this, this.kfEditor ); 26 | 27 | } 28 | 29 | 30 | } ); 31 | 32 | return ControllerComponent; 33 | 34 | } ); -------------------------------------------------------------------------------- /src/control/input-filter.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * 输入过滤器 3 | */ 4 | 5 | define( function ( require ) { 6 | 7 | // 过滤列表, 其中的key对应于键盘事件的keycode, 带有s+字样的key,匹配的是shift+keycode 8 | var LIST = { 9 | 32: "\\,", 10 | "s+219": "\\{", 11 | "s+221": "\\}", 12 | "220": "\\backslash", 13 | "s+51": "\\#", 14 | "s+52": "\\$", 15 | "s+53": "\\%", 16 | "s+54": "\\^", 17 | "s+55": "\\&", 18 | "s+189": "\\_", 19 | "s+192": "\\~" 20 | }; 21 | 22 | return { 23 | 24 | getReplaceString: function ( key ) { 25 | return LIST[ key ] || null; 26 | } 27 | 28 | }; 29 | 30 | } ); -------------------------------------------------------------------------------- /src/control/listener.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by hn on 14-4-11. 3 | */ 4 | 5 | define( function ( require, exports, module ) { 6 | 7 | var kity = require( "kity" ), 8 | 9 | // 光标定位 10 | LocationComponent = require( "control/location" ), 11 | 12 | // 输入控制组件 13 | InputComponent = require( "control/input" ), 14 | 15 | // 选区 16 | SelectionComponent = require( "control/selection" ); 17 | 18 | return kity.createClass( "MoveComponent", { 19 | 20 | constructor: function ( parentComponent, kfEditor ) { 21 | 22 | this.parentComponent = parentComponent; 23 | this.kfEditor = kfEditor; 24 | 25 | this.components = {}; 26 | 27 | this.initComponents(); 28 | 29 | }, 30 | 31 | initComponents: function () { 32 | 33 | this.components.location= new LocationComponent( this, this.kfEditor ); 34 | this.components.selection = new SelectionComponent( this, this.kfEditor ); 35 | this.components.input = new InputComponent( this, this.kfEditor ); 36 | 37 | } 38 | 39 | } ); 40 | 41 | } ); -------------------------------------------------------------------------------- /src/def/group-type.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * 组类型 3 | */ 4 | 5 | define( function () { 6 | 7 | return { 8 | 9 | "GROUP": "kf-editor-group", 10 | "VIRTUAL": "kf-editor-virtual-group" 11 | 12 | }; 13 | 14 | } ); -------------------------------------------------------------------------------- /src/editor/editor.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * 编辑器主体结构 3 | */ 4 | 5 | define( function ( require ) { 6 | 7 | var kity = require( "kity" ), 8 | Utils = require( "base/utils" ), 9 | defaultOpt = { 10 | formula: { 11 | fontsize: 50, 12 | autoresize: false 13 | }, 14 | ui: { 15 | zoom: true, 16 | maxzoom: 2, 17 | minzoom: 1 18 | } 19 | 20 | }; 21 | 22 | // 同步组件列表 23 | var COMPONENTS = {}, 24 | // 异步组件列表 25 | ResourceManager = require( "kf" ).ResourceManager; 26 | 27 | var KFEditor = kity.createClass( 'KFEditor', { 28 | 29 | constructor: function ( container, opt ) { 30 | 31 | this.options = Utils.extend( true, {}, defaultOpt, opt ); 32 | 33 | this.FormulaClass = null; 34 | // 就绪状态 35 | this._readyState = false; 36 | this._callbacks = []; 37 | 38 | this.container = container; 39 | this.services = {}; 40 | this.commands = {}; 41 | 42 | this.initResource(); 43 | 44 | }, 45 | 46 | isReady: function () { 47 | 48 | return !!this._readyState; 49 | 50 | }, 51 | 52 | triggerReady: function () { 53 | 54 | var cb = null, 55 | _self = this; 56 | 57 | while ( cb = this._callbacks.shift() ) { 58 | cb.call( _self, _self ); 59 | } 60 | 61 | }, 62 | 63 | ready: function ( cb ) { 64 | 65 | if ( this._readyState ) { 66 | cb.call( this, this ); 67 | } else { 68 | this._callbacks.push( cb ); 69 | } 70 | 71 | }, 72 | 73 | getContainer: function () { 74 | return this.container; 75 | }, 76 | 77 | getDocument: function () { 78 | return this.container.ownerDocument; 79 | }, 80 | 81 | getFormulaClass: function () { 82 | return this.FormulaClass; 83 | }, 84 | 85 | getOptions: function () { 86 | return this.options; 87 | }, 88 | 89 | initResource: function () { 90 | 91 | var _self = this; 92 | 93 | ResourceManager.ready( function ( Formula ) { 94 | 95 | _self.FormulaClass = Formula; 96 | _self.initComponents(); 97 | _self._readyState = true; 98 | _self.triggerReady(); 99 | 100 | }, this.options.resource ); 101 | 102 | }, 103 | 104 | /** 105 | * 初始化同步组件 106 | */ 107 | initComponents: function () { 108 | 109 | var _self = this; 110 | 111 | Utils.each( COMPONENTS, function ( Component, name ) { 112 | 113 | new Component( _self, _self.options[ name ] ); 114 | 115 | } ); 116 | 117 | }, 118 | 119 | requestService: function ( serviceName, args ) { 120 | 121 | var serviceObject = getService.call( this, serviceName ); 122 | 123 | return serviceObject.service[ serviceObject.key ].apply( serviceObject.provider, [].slice.call( arguments, 1 ) ); 124 | 125 | }, 126 | 127 | request: function ( serviceName ) { 128 | 129 | var serviceObject = getService.call( this, serviceName ); 130 | 131 | return serviceObject.service; 132 | 133 | }, 134 | 135 | registerService: function ( serviceName, provider, serviceObject ) { 136 | 137 | var key = null; 138 | 139 | for ( key in serviceObject ) { 140 | 141 | if ( serviceObject[ key ] && serviceObject.hasOwnProperty( key ) ) { 142 | serviceObject[ key ] = Utils.proxy( serviceObject[ key ], provider ); 143 | } 144 | 145 | } 146 | 147 | this.services[ serviceName ] = { 148 | provider: provider, 149 | key: key, 150 | service: serviceObject 151 | }; 152 | 153 | }, 154 | 155 | registerCommand: function ( commandName, executor, execFn ) { 156 | 157 | this.commands[ commandName ] = { 158 | executor: executor, 159 | execFn: execFn 160 | }; 161 | 162 | }, 163 | 164 | execCommand: function ( commandName, args ) { 165 | 166 | var commandObject = this.commands[ commandName ]; 167 | 168 | if ( !commandObject ) { 169 | throw new Error( 'KFEditor: not found command, ' + commandName ); 170 | } 171 | 172 | return commandObject.execFn.apply( commandObject.executor, [].slice.call( arguments, 1 ) ); 173 | 174 | } 175 | 176 | } ); 177 | 178 | function getService ( serviceName ) { 179 | 180 | var serviceObject = this.services[ serviceName ]; 181 | 182 | if ( !serviceObject ) { 183 | throw new Error( 'KFEditor: not found service, ' + serviceName ); 184 | } 185 | 186 | return serviceObject; 187 | 188 | } 189 | 190 | Utils.extend( KFEditor, { 191 | 192 | registerComponents: function ( name, component ) { 193 | 194 | COMPONENTS[ name ] = component; 195 | 196 | } 197 | 198 | } ); 199 | 200 | return KFEditor; 201 | 202 | } ); 203 | -------------------------------------------------------------------------------- /src/editor/factory.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 编辑器工厂方法 3 | * 用于创建编辑器 4 | */ 5 | 6 | define( function ( require ) { 7 | 8 | var kity = require( "kity" ), 9 | KFEditor = require( "editor/editor" ); 10 | 11 | /* ------------------------------- 编辑器装饰对象 */ 12 | function EditorWrapper ( container, options ) { 13 | 14 | var _self = this; 15 | this._callbacks = []; 16 | 17 | this.editor = new KFEditor( container, options ); 18 | 19 | this.editor.ready( function () { 20 | _self._trigger(); 21 | } ); 22 | 23 | } 24 | 25 | EditorWrapper.prototype._trigger = function () { 26 | 27 | var editor = this.editor; 28 | 29 | kity.Utils.each( this._callbacks, function ( cb ) { 30 | cb.call( editor, editor ); 31 | } ); 32 | 33 | }; 34 | 35 | EditorWrapper.prototype.ready = function ( cb ) { 36 | 37 | if ( this.editor.isReady() ) { 38 | cb.call( this.editor, this.editor ); 39 | } else { 40 | this._callbacks.push( cb ); 41 | } 42 | 43 | }; 44 | 45 | return { 46 | create: function ( container, options ) { 47 | 48 | return new EditorWrapper( container, options ); 49 | 50 | } 51 | }; 52 | 53 | } ); -------------------------------------------------------------------------------- /src/jquery.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by hn on 14-3-31. 3 | */ 4 | 5 | define( function () { 6 | return window.jQuery; 7 | } ); -------------------------------------------------------------------------------- /src/kf-ext/def.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by hn on 14-3-18. 3 | */ 4 | 5 | define( function () { 6 | 7 | return { 8 | selectColor: 'rgba(42, 106, 189, 0.2)', 9 | allSelectColor: 'rgba(42, 106, 189, 0.6)' 10 | }; 11 | 12 | } ); -------------------------------------------------------------------------------- /src/kf-ext/expression/placeholder.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 占位符表达式, 扩展KF自有的Empty表达式 3 | */ 4 | 5 | 6 | define( function ( require, exports, module ) { 7 | 8 | var kity = require( "kity" ) , 9 | 10 | kf = require( "kf" ), 11 | 12 | PlaceholderOperator = require( "kf-ext/operator/placeholder" ); 13 | 14 | return kity.createClass( 'PlaceholderExpression', { 15 | 16 | base: kf.CompoundExpression, 17 | 18 | constructor: function () { 19 | 20 | this.callBase(); 21 | 22 | this.setFlag( "Placeholder" ); 23 | 24 | this.label = null; 25 | 26 | this.box.setAttr( "data-type", null ); 27 | this.setOperator( new PlaceholderOperator() ); 28 | 29 | }, 30 | 31 | setLabel: function ( label ) { 32 | this.label = label; 33 | }, 34 | 35 | getLabel: function () { 36 | return this.label; 37 | }, 38 | 39 | // 重载占位符的setAttr, 以处理根占位符节点 40 | setAttr: function ( key, val ) { 41 | 42 | if ( key === "label" ) { 43 | this.setLabel( val ); 44 | } else { 45 | 46 | if ( key.label ) { 47 | this.setLabel( key.label ); 48 | // 删除label 49 | delete key.label; 50 | } 51 | // 继续设置其他属性 52 | this.callBase( key, val ); 53 | 54 | } 55 | 56 | }, 57 | 58 | select: function () { 59 | 60 | this.getOperator().select(); 61 | 62 | }, 63 | 64 | selectAll: function () { 65 | 66 | this.getOperator().selectAll(); 67 | 68 | }, 69 | 70 | unselect: function () { 71 | this.getOperator().unselect(); 72 | } 73 | 74 | } ); 75 | 76 | } ); -------------------------------------------------------------------------------- /src/kf-ext/extension.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 公式扩展接口 3 | */ 4 | 5 | define( function ( require ) { 6 | 7 | var kf = require( "kf" ), 8 | SELECT_COLOR = require( "kf-ext/def" ).selectColor, 9 | ALL_SELECT_COLOR = require( "kf-ext/def" ).allSelectColor; 10 | 11 | function ext ( parser ) { 12 | 13 | kf.PlaceholderExpression = require( "kf-ext/expression/placeholder" ); 14 | 15 | kf.Expression.prototype.select = function () { 16 | 17 | this.box.fill( SELECT_COLOR ); 18 | 19 | }; 20 | 21 | kf.Expression.prototype.selectAll = function () { 22 | this.box.fill( ALL_SELECT_COLOR ); 23 | }; 24 | 25 | kf.Expression.prototype.unselect = function () { 26 | 27 | this.box.fill( "transparent" ); 28 | 29 | }; 30 | 31 | // 扩展解析和逆解析 32 | parser.getKFParser().expand( { 33 | 34 | parse: { 35 | "placeholder": { 36 | name: "placeholder", 37 | handler: function ( info ) { 38 | 39 | delete info.handler; 40 | info.operand = []; 41 | 42 | return info; 43 | 44 | }, 45 | sign: false 46 | } 47 | }, 48 | 49 | reverse: { 50 | 51 | "placeholder": function () { 52 | 53 | return "\\placeholder "; 54 | 55 | } 56 | 57 | } 58 | 59 | } ); 60 | 61 | } 62 | 63 | return { 64 | ext: ext 65 | }; 66 | 67 | } ); 68 | -------------------------------------------------------------------------------- /src/kf-ext/operator/placeholder.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 占位符操作符 3 | */ 4 | 5 | define( function ( require, exports, modules ) { 6 | 7 | var kity = require( "kity" ), 8 | FILL_COLOR = require( "sysconf" ).rootPlaceholder.color, 9 | SELECT_COLOR = require( "kf-ext/def" ).selectColor, 10 | ALL_SELECT_COLOR = require( "kf-ext/def" ).allSelectColor; 11 | 12 | return kity.createClass( 'PlaceholderOperator', { 13 | 14 | base: require( "kf" ).Operator, 15 | 16 | constructor: function () { 17 | 18 | this.opShape = null; 19 | this.callBase( "Placeholder" ); 20 | 21 | }, 22 | 23 | applyOperand: function () { 24 | 25 | this.opShape = generateOpShape( this, this.parentExpression.getLabel() ); 26 | this.parentExpression.expand( 20, 20 ); 27 | this.parentExpression.translateElement( 10, 10 ); 28 | 29 | }, 30 | 31 | select: function () { 32 | 33 | this.opShape.fill( SELECT_COLOR ); 34 | 35 | }, 36 | 37 | selectAll: function () { 38 | 39 | this.opShape.fill( ALL_SELECT_COLOR ); 40 | 41 | }, 42 | 43 | unselect: function () { 44 | 45 | this.opShape.fill( "transparent" ); 46 | 47 | } 48 | 49 | } ); 50 | 51 | function generateOpShape ( operator, label ) { 52 | 53 | if ( label !== null ) { 54 | return createRootPlaceholder( operator, label ); 55 | } else { 56 | return createCommonShape( operator ); 57 | } 58 | 59 | 60 | } 61 | 62 | // 创建通用图形 63 | function createCommonShape ( operator ) { 64 | 65 | var w = 35, 66 | h = 50, 67 | shape = null; 68 | 69 | shape = new kity.Rect( w, h, 0, 0 ).stroke( "black" ).fill( "transparent" ); 70 | shape.setAttr( "stroke-dasharray", "5, 5" ); 71 | 72 | operator.addOperatorShape( shape ); 73 | 74 | return shape; 75 | 76 | } 77 | 78 | // 创建根占位符图形 79 | function createRootPlaceholder ( operator, label ) { 80 | 81 | var textShape = new kity.Text( label ).fill( FILL_COLOR ), 82 | shapeGroup = new kity.Group(), 83 | padding = 20, 84 | radius = 7, 85 | borderBoxShape = new kity.Rect( 0, 0, 0, 0, radius ).stroke( FILL_COLOR ).fill( "transparent" ), 86 | textBox = null; 87 | 88 | textShape.setFontSize( 40 ); 89 | shapeGroup.addShape( borderBoxShape ); 90 | shapeGroup.addShape( textShape ); 91 | operator.addOperatorShape( shapeGroup ); 92 | 93 | textBox = textShape.getFixRenderBox(); 94 | 95 | // 宽度要加上padding 96 | borderBoxShape.stroke( FILL_COLOR ).fill( "transparent" ); 97 | borderBoxShape.setSize( textBox.width + padding * 2, textBox.height + padding * 2 ); 98 | borderBoxShape.setRadius( radius ); 99 | borderBoxShape.setAttr( "stroke-dasharray", "5, 5" ); 100 | 101 | textShape.setAttr( { 102 | dx: 0-textBox.x, 103 | dy: 0-textBox.y 104 | } ); 105 | 106 | textShape.translate( padding, padding ); 107 | 108 | // 对于根占位符, 返回的不是组, 而是组容器内部的虚线框。 以方便选中变色 109 | return borderBoxShape; 110 | 111 | } 112 | 113 | } ); -------------------------------------------------------------------------------- /src/kf.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by hn on 14-3-12. 3 | */ 4 | 5 | define( function () { 6 | 7 | return window.kf; 8 | 9 | } ); -------------------------------------------------------------------------------- /src/kity.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 数学公式Latex语法解析器 3 | */ 4 | 5 | define( function () { 6 | 7 | return window.kity; 8 | 9 | } ); 10 | 11 | -------------------------------------------------------------------------------- /src/parse/vgroup-def.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * 虚拟组列表 3 | */ 4 | 5 | define( function () { 6 | 7 | return { 8 | 9 | "radical": true, 10 | "fraction": true, 11 | "summation": true, 12 | "integration": true, 13 | "placeholder": true, 14 | "script": true, 15 | "superscript": true, 16 | "subscript": true, 17 | "brackets": true, 18 | "function": true 19 | 20 | }; 21 | 22 | } ); -------------------------------------------------------------------------------- /src/print/printer.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * 打印服务 3 | */ 4 | 5 | define( function ( require ) { 6 | 7 | var kity = require( "kity" ); 8 | 9 | return kity.createClass( "Printer", { 10 | 11 | constructor: function ( kfEditor ) { 12 | 13 | this.kfEditor = kfEditor; 14 | 15 | this.initServices(); 16 | 17 | this.initCommands(); 18 | 19 | }, 20 | 21 | initServices: function () { 22 | 23 | this.kfEditor.registerService( "print.image", this, { 24 | printImage: this.printImage 25 | } ); 26 | 27 | }, 28 | 29 | initCommands: function () { 30 | 31 | this.kfEditor.registerCommand( "get.image.data", this, this.getImageData ); 32 | 33 | }, 34 | 35 | printImage: function ( type ) { 36 | 37 | var formula = this.kfEditor.requestService( "render.get.paper" ); 38 | 39 | this._formatCanvas(); 40 | 41 | formula.toPNG( function ( dataUrl ) { 42 | 43 | document.body.innerHTML = ''; 44 | 45 | } ); 46 | 47 | this._restoreCanvas(); 48 | 49 | }, 50 | 51 | getImageData: function ( cb ) { 52 | 53 | var canvas = this.kfEditor.requestService( "render.get.canvas" ), 54 | formula = this.kfEditor.requestService( "render.get.paper" ); 55 | 56 | this._formatCanvas(); 57 | 58 | formula.toPNG( function ( dataUrl ) { 59 | 60 | cb( { 61 | width: canvas.width, 62 | height: canvas.height, 63 | img: dataUrl 64 | } ); 65 | 66 | } ); 67 | 68 | this._restoreCanvas(); 69 | 70 | }, 71 | 72 | _formatCanvas: function () { 73 | 74 | var canvas = this.kfEditor.requestService( "render.get.canvas" ), 75 | rect = canvas.container.getRenderBox(); 76 | 77 | canvas.node.setAttribute( "width", rect.width ); 78 | canvas.node.setAttribute( "height", rect.height ); 79 | 80 | this.kfEditor.requestService( "render.clear.canvas.transform" ); 81 | this.kfEditor.requestService( "control.cursor.hide" ); 82 | this.kfEditor.requestService( "render.clear.select" ); 83 | 84 | }, 85 | 86 | _restoreCanvas: function () { 87 | 88 | var canvas = this.kfEditor.requestService( "render.get.canvas" ); 89 | 90 | canvas.node.setAttribute( "width", "100%" ); 91 | canvas.node.setAttribute( "height", "100%" ); 92 | 93 | this.kfEditor.requestService( "render.revert.canvas.transform" ); 94 | this.kfEditor.requestService( "control.cursor.relocation" ); 95 | this.kfEditor.requestService( "render.reselect" ); 96 | 97 | } 98 | 99 | } ); 100 | 101 | } ); 102 | 103 | 104 | -------------------------------------------------------------------------------- /src/sysconf.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * 系统配置文件 3 | */ 4 | 5 | define( function () { 6 | 7 | return { 8 | 9 | // 光标符号 10 | cursorCharacter: "\uF155", 11 | 12 | // 根占位符内容与颜色 13 | rootPlaceholder: { 14 | color: "#666", 15 | content: "在此处键入公式", 16 | fontsize: 16 17 | }, 18 | 19 | scrollbar: { 20 | padding: 5, 21 | step: 150 22 | } 23 | 24 | }; 25 | 26 | } ); -------------------------------------------------------------------------------- /src/ui/control/zoom.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * 滚动缩放控制器 3 | */ 4 | 5 | define( function ( require ) { 6 | 7 | var Utils = require( "base/utils" ), 8 | kity = require( "kity"), 9 | 10 | DEFAULT_OPTIONS = { 11 | min: 1, 12 | max: 2 13 | }, 14 | 15 | ScrollZoomController = kity.createClass( 'ScrollZoomController', { 16 | 17 | constructor: function ( parentComponent, kfEditor, target, options ) { 18 | 19 | this.kfEditor = kfEditor; 20 | this.target = target; 21 | 22 | this.zoom = 1; 23 | this.step = 0.05; 24 | 25 | this.options = Utils.extend( {}, DEFAULT_OPTIONS, options ); 26 | 27 | this.initEvent(); 28 | 29 | }, 30 | 31 | initEvent: function () { 32 | 33 | var kfEditor = this.kfEditor, 34 | _self = this, 35 | min = this.options.min, 36 | max = this.options.max, 37 | step = this.step; 38 | 39 | Utils.addEvent( this.target, 'mousewheel', function ( e ) { 40 | 41 | e.preventDefault(); 42 | 43 | if ( e.wheelDelta < 0 ) { 44 | // 缩小 45 | _self.zoom -= _self.zoom * step; 46 | } else { 47 | // 放大 48 | _self.zoom += _self.zoom * step; 49 | } 50 | 51 | _self.zoom = Math.max( _self.zoom, min ); 52 | _self.zoom = Math.min( _self.zoom, max ); 53 | 54 | kfEditor.requestService( "render.set.canvas.zoom", _self.zoom ); 55 | 56 | } ); 57 | 58 | } 59 | 60 | } ); 61 | 62 | 63 | return ScrollZoomController; 64 | 65 | } ); 66 | 67 | -------------------------------------------------------------------------------- /src/ui/def.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * UI定义 3 | */ 4 | 5 | define( function ( require ) { 6 | 7 | return { 8 | // 视窗状态 9 | VIEW_STATE: { 10 | // 内容未超出画布 11 | NO_OVERFLOW: 0, 12 | // 内容溢出 13 | OVERFLOW: 1 14 | }, 15 | scrollbar: { 16 | step: 50, 17 | thumbMinSize: 50 18 | } 19 | }; 20 | 21 | } ); 22 | -------------------------------------------------------------------------------- /src/ui/ui-impl/def/box-type.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * box类型定义 3 | */ 4 | 5 | define( function ( require ) { 6 | 7 | return { 8 | // 分离式 9 | "DETACHED": 1, 10 | // 重叠式 11 | "OVERLAP": 2 12 | }; 13 | 14 | } ); -------------------------------------------------------------------------------- /src/ui/ui-impl/def/ele-type.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * toolbar元素类型定义 3 | */ 4 | 5 | define( function ( require ) { 6 | 7 | return { 8 | "DRAPDOWN_BOX": 1, 9 | "AREA": 2, 10 | "DELIMITER": 3 11 | }; 12 | 13 | } ); -------------------------------------------------------------------------------- /src/ui/ui-impl/def/item-type.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * 组元素类型定义 3 | */ 4 | 5 | define( function ( require ) { 6 | 7 | return { 8 | "BIG": 1, 9 | "SMALL": 2 10 | }; 11 | 12 | } ); -------------------------------------------------------------------------------- /src/ui/ui-impl/delimiter.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * 分割符 3 | */ 4 | 5 | define( function ( require ) { 6 | 7 | var kity = require( "kity" ), 8 | 9 | PREFIX = "kf-editor-ui-", 10 | 11 | // UiUitls 12 | $$ = require( "ui/ui-impl/ui-utils" ), 13 | 14 | Delimiter = kity.createClass( "Delimiter", { 15 | 16 | constructor: function ( doc ) { 17 | 18 | this.doc = doc; 19 | this.element = this.createDilimiter(); 20 | 21 | }, 22 | 23 | setToolbar: function ( toolbar ) { 24 | // do nothing 25 | }, 26 | 27 | createDilimiter: function () { 28 | 29 | var dilimiterNode = $$.ele( this.doc, "div", { 30 | className: PREFIX + "delimiter" 31 | } ); 32 | 33 | dilimiterNode.appendChild( $$.ele( this.doc, "div", { 34 | className: PREFIX + "delimiter-line" 35 | } ) ); 36 | 37 | return dilimiterNode; 38 | 39 | }, 40 | 41 | attachTo: function ( container ) { 42 | 43 | container.appendChild( this.element ); 44 | 45 | } 46 | 47 | }); 48 | 49 | return Delimiter; 50 | 51 | } ); -------------------------------------------------------------------------------- /src/ui/ui-impl/drapdown-box.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by hn on 14-3-31. 3 | */ 4 | 5 | define( function ( require ) { 6 | 7 | var kity = require( "kity" ), 8 | 9 | // UiUitls 10 | $$ = require( "ui/ui-impl/ui-utils" ), 11 | 12 | Button = require( "ui/ui-impl/button" ), 13 | Box = require( "ui/ui-impl/box" ), 14 | 15 | DrapdownBox = kity.createClass( "DrapdownBox", { 16 | 17 | constructor: function ( doc, options ) { 18 | 19 | this.options = options; 20 | this.toolbar = null; 21 | this.doc = doc; 22 | 23 | this.buttonElement = this.createButton(); 24 | 25 | this.element = this.buttonElement.getNode(); 26 | 27 | this.boxElement = this.createBox(); 28 | 29 | this.buttonElement.mount( this.boxElement ); 30 | 31 | this.initEvent(); 32 | 33 | }, 34 | 35 | initEvent: function () { 36 | 37 | var _self = this; 38 | 39 | // 通知工具栏互斥 40 | $$.on( this.element, "mousedown", function ( e ) { 41 | 42 | e.preventDefault(); 43 | e.stopPropagation(); 44 | 45 | _self.toolbar.notify( "closeOther", _self ); 46 | 47 | } ); 48 | 49 | 50 | this.buttonElement.initEvent(); 51 | this.boxElement.initEvent(); 52 | 53 | this.boxElement.setSelectHandler( function ( val ) { 54 | // 发布 55 | $$.publish( "data.select", val ); 56 | _self.buttonElement.hide(); 57 | } ); 58 | 59 | }, 60 | 61 | disable: function () { 62 | this.buttonElement.disable(); 63 | }, 64 | 65 | enable: function () { 66 | this.buttonElement.enable(); 67 | }, 68 | 69 | setToolbar: function ( toolbar ) { 70 | this.toolbar = toolbar; 71 | this.buttonElement.setToolbar( toolbar ); 72 | this.boxElement.setToolbar( toolbar ); 73 | }, 74 | 75 | createButton: function () { 76 | 77 | return new Button( this.doc, this.options.button ); 78 | 79 | }, 80 | 81 | show: function () { 82 | this.buttonElement.show(); 83 | }, 84 | 85 | hide: function () { 86 | this.buttonElement.hide(); 87 | }, 88 | 89 | createBox: function () { 90 | 91 | return new Box( this.doc, this.options.box ); 92 | 93 | }, 94 | 95 | attachTo: function ( container ) { 96 | 97 | container.appendChild( this.element ); 98 | 99 | } 100 | 101 | }); 102 | 103 | return DrapdownBox; 104 | 105 | } ); -------------------------------------------------------------------------------- /src/ui/ui-impl/list.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by hn on 14-3-31. 3 | */ 4 | 5 | define( function ( require ) { 6 | 7 | var kity = require( "kity" ), 8 | 9 | PREFIX = "kf-editor-ui-", 10 | 11 | // UiUitls 12 | $$ = require( "ui/ui-impl/ui-utils" ), 13 | 14 | List = kity.createClass( "List", { 15 | 16 | constructor: function ( doc, options ) { 17 | 18 | this.options = options; 19 | 20 | this.doc = doc; 21 | 22 | this.onselectHandler = null; 23 | 24 | this.currentSelect = -1; 25 | 26 | this.element = this.createBox(); 27 | this.itemGroups = this.createItems(); 28 | 29 | this.mergeElement(); 30 | 31 | }, 32 | 33 | // 预定义的方法留空 34 | onselectHandler: function ( index, oldIndex ) {}, 35 | 36 | setSelectHandler: function ( selectHandler ) { 37 | this.onselectHandler = selectHandler; 38 | }, 39 | 40 | createBox: function () { 41 | 42 | var boxNode = $$.ele( this.doc, "div", { 43 | className: PREFIX + "list" 44 | } ), 45 | 46 | // 创建背景 47 | bgNode = $$.ele( this.doc, "div", { 48 | className: PREFIX + "list-bg" 49 | } ); 50 | 51 | if ( "width" in this.options ) { 52 | boxNode.style.width = this.options.width + "px"; 53 | } 54 | 55 | boxNode.appendChild( bgNode ); 56 | 57 | return boxNode; 58 | 59 | }, 60 | 61 | select: function ( index ) { 62 | 63 | var oldSelect = this.currentSelect; 64 | 65 | if ( oldSelect === -1 ) { 66 | oldSelect = index; 67 | } 68 | 69 | this.unselect( oldSelect ); 70 | 71 | this.currentSelect = index; 72 | 73 | $$.getClassList( this.itemGroups.items[ index ] ).add( PREFIX + "list-item-select" ); 74 | 75 | this.onselectHandler( index, oldSelect ); 76 | 77 | }, 78 | 79 | unselect: function ( index ) { 80 | 81 | $$.getClassList( this.itemGroups.items[ index ] ).remove( PREFIX + "list-item-select" ); 82 | 83 | }, 84 | 85 | setOffset: function ( x, y ) { 86 | this.element.style.left = x + "px"; 87 | this.element.style.top = y + "px"; 88 | }, 89 | 90 | initEvent: function () { 91 | 92 | var className = "." + PREFIX + "list-item", 93 | _self = this; 94 | 95 | $$.delegate( this.itemGroups.container, className, "mousedown", function ( e ) { 96 | 97 | e.preventDefault(); 98 | 99 | if ( e.which !== 1 ) { 100 | return; 101 | } 102 | 103 | _self.select( this.getAttribute( "data-index" ) ); 104 | 105 | } ); 106 | 107 | $$.on( this.element, "mousedown", function ( e ) { 108 | 109 | e.stopPropagation(); 110 | e.preventDefault(); 111 | 112 | } ); 113 | 114 | }, 115 | 116 | getPositionInfo: function () { 117 | return $$.getRectBox( this.element ); 118 | }, 119 | 120 | createItems: function () { 121 | 122 | var doc = this.doc, 123 | groupNode = null, 124 | itemNode = null, 125 | iconNode = null, 126 | items = [], 127 | itemContainer = null; 128 | 129 | groupNode = $$.ele( this.doc, "div", { 130 | className: PREFIX + "list-item" 131 | } ); 132 | 133 | itemContainer = groupNode.cloneNode( false ); 134 | itemContainer.className = PREFIX + "list-item-container"; 135 | 136 | kity.Utils.each( this.options.items, function ( itemText, i ) { 137 | 138 | itemNode = groupNode.cloneNode( false ); 139 | 140 | iconNode = groupNode.cloneNode( false ); 141 | iconNode.className = PREFIX + "list-item-icon"; 142 | 143 | itemNode.appendChild( iconNode ); 144 | itemNode.appendChild( $$.ele( doc, "text", itemText ) ); 145 | 146 | itemNode.setAttribute( "data-index", i ); 147 | 148 | items.push( itemNode ); 149 | itemContainer.appendChild( itemNode ); 150 | 151 | } ); 152 | 153 | return { 154 | container: itemContainer, 155 | items: items 156 | }; 157 | 158 | }, 159 | 160 | mergeElement: function () { 161 | 162 | this.element.appendChild( this.itemGroups.container ); 163 | 164 | }, 165 | 166 | mountTo: function ( container ) { 167 | container.appendChild( this.element ); 168 | } 169 | 170 | } ); 171 | 172 | return List; 173 | 174 | } ); -------------------------------------------------------------------------------- /src/ui/ui-impl/ui-utils.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by hn on 14-4-1. 3 | */ 4 | 5 | define( function ( require ) { 6 | 7 | var $ = require( "jquery" ), 8 | kity = require( "kity" ), 9 | TOPIC_POOL = {}; 10 | 11 | var Utils = { 12 | 13 | ele: function ( doc, name, options ) { 14 | 15 | var node = null; 16 | 17 | if ( name === "text" ) { 18 | return doc.createTextNode( options ); 19 | } 20 | 21 | node = doc.createElement( name ); 22 | options.className && ( node.className = options.className ); 23 | 24 | if ( options.content ) { 25 | node.innerHTML = options.content; 26 | } 27 | return node; 28 | }, 29 | 30 | getRectBox: function ( node ) { 31 | return node.getBoundingClientRect(); 32 | }, 33 | 34 | on: function ( target, type, fn ) { 35 | $( target ).on( type, fn ); 36 | return this; 37 | }, 38 | 39 | delegate: function ( target, selector, type, fn ) { 40 | 41 | $( target ).delegate( selector, type, fn ); 42 | return this; 43 | 44 | }, 45 | 46 | publish: function ( topic, args ) { 47 | 48 | var callbackList = TOPIC_POOL[ topic ]; 49 | 50 | if ( !callbackList ) { 51 | return; 52 | } 53 | 54 | args = [].slice.call( arguments, 1 ); 55 | 56 | kity.Utils.each( callbackList, function ( callback ) { 57 | 58 | callback.apply( null, args ); 59 | 60 | } ); 61 | 62 | }, 63 | 64 | subscribe: function ( topic, callback ) { 65 | 66 | if ( !TOPIC_POOL[ topic ] ) { 67 | 68 | TOPIC_POOL[ topic ] = []; 69 | 70 | } 71 | 72 | TOPIC_POOL[ topic ].push( callback ); 73 | 74 | }, 75 | 76 | getClassList: function ( node ) { 77 | 78 | return node.classList || new ClassList( node ); 79 | 80 | } 81 | 82 | }; 83 | 84 | 85 | //注意: 仅保证兼容IE9以上 86 | function ClassList ( node ) { 87 | 88 | this.node = node; 89 | this.classes = node.className.replace( /^\s+|\s+$/g, '' ).split( /\s+/ ); 90 | 91 | } 92 | 93 | ClassList.prototype = { 94 | 95 | constructor: ClassList, 96 | 97 | contains: function ( className ) { 98 | 99 | return this.classes.indexOf( className ) !== -1; 100 | 101 | }, 102 | 103 | add: function ( className ) { 104 | 105 | if ( this.classes.indexOf( className ) == -1 ) { 106 | this.classes.push( className ); 107 | } 108 | 109 | this._update(); 110 | 111 | return this; 112 | 113 | }, 114 | 115 | remove: function ( className ) { 116 | 117 | var index = this.classes.indexOf( className ); 118 | 119 | if ( index !== -1 ) { 120 | this.classes.splice( index, 1 ); 121 | this._update(); 122 | } 123 | 124 | return this; 125 | }, 126 | 127 | toggle: function ( className ) { 128 | 129 | var method = this.contains( className ) ? 'remove' : 'add'; 130 | 131 | return this[ method ]( className ); 132 | 133 | }, 134 | 135 | _update: function () { 136 | 137 | this.node.className = this.classes.join( " " ); 138 | 139 | } 140 | 141 | }; 142 | 143 | return Utils; 144 | 145 | } ); -------------------------------------------------------------------------------- /src/ui/ui-impl/ui.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by hn on 14-3-31. 3 | */ 4 | 5 | define( function ( require ) { 6 | 7 | return { 8 | 9 | DrapdownBox: require( "ui/ui-impl/drapdown-box" ), 10 | Delimiter: require( "ui/ui-impl/delimiter" ), 11 | Area: require( "ui/ui-impl/area" ) 12 | 13 | }; 14 | 15 | } ); --------------------------------------------------------------------------------