Вот мой скрипт
$(document).ready(function () {
function symbol(_char, _dpath) {
this.char = _char;
this.path = _dpath;
}
var svgfont = [];
var svgfontweidth = 0;
var namefont = "";
var view = SVG("preview")
.size($("#preview").width(), $("#preview").height());
function addGlyphToPath(c,d) {
svgfont.push(new symbol(c,d));
}
function setfontweidth(fw) {
svgfontweidth = fw;
}
function caclulate() {
}
function getPathByChar(sym) {
console.log("------>"+sym)
console.log("getPathByChar"+svgfont.length)
for(var i = 0;i < svgfont.length;i++) {
if(svgfont[i].char == sym) {
console.log("------>"+svgfont[i].path)
return svgfont[i].path;
}
}
}
function drawString(drawdesc,str) {
var shift = 5;
var svggroup = drawdesc.group();
svggroup.scale(0.03,-0.03).translate(5,55);
for(var i=0;i<str.length;i++) {
if(str[i] == " ") {
shift = shift + (svgfontweidth / 2);
} else {
var path = svggroup.path(getPathByChar(str[i])).translate(shift,55);
console.log(getPathByChar(str[i]));
shift = shift + path.width();
drawdesc.add(path);
}
}
}
var self = this;
var getSVGPath = function (svgdata) {
var _this = this;
setfontweidth(parseInt($(svgdata).find("font-face ").attr('font-weight')));
$(svgdata).find("glyph").each(function(){
var unicode = $(this).attr('unicode');
var dpath = $(this).attr("d");
addGlyphToPath(unicode,dpath);
})
}
function loadfont(self,svgUrl) {
var _this = self;
$.ajax({
type:"get",
url:svgUrl,
dataType:"xml",
success:getSVGPath
})
}
function update() {
var namefont = $("#selFont").val();
var size = parseInt($("#fontSize").val());
var type = $("#selType").val();
var text = $("#node").val();
console.log(namefont);
loadfont(this,"svgfonts/" + namefont + ".svg");
drawString(view,text);
}
update();
console.log("root"+svgfont.length);
$("#node").keyup(update);
$("#selFont").click(function () {
$(this).bind("change", update);
});
});
Мне нужно сохранить в массиве svgfont все glyph'ы
сам svg загружается но не хочить сохраняться в массиве, что бы потом прочитать их
помогите люди добрые