代码之家  ›  专栏  ›  技术社区  ›  user56reinstatemonica8

svg path defs中的逗号和小数点是否本地化过,例如“m1,23.4,56”?

  •  0
  • user56reinstatemonica8  · 技术社区  · 8 年前

    我在浏览器代码中有一些javascript,它在每个浏览器动画帧上读取、解析和写入SVG路径定义,以在路径定义之间创建平滑的动画。它假设当它读到 d 来自SVG的属性 path 节点,数字将用空格或逗号分隔,例如:

    • M 1.23 4.56
    • M1.23 4.56
    • M 1.23,4.56
    • M1.23,4.56

    有些区域设置使用逗号作为小数点来格式化数字,例如 1,23 意思 “一点二三” . 在SVG路径中是否有任何区域设置和浏览器的组合 D 属性含义 移动到X坐标1点2 3和Y坐标4点5 6 可能返回如下:

    • M 1,23 4,56
    • M1,23.4,56

    换句话说,如果SVG路径定义包含 , 它被用作数字分隔符?

    我已经查看了SVG规范,在这个上下文中找不到任何关于区域设置的信息,我尝试测试它时总是只给出逗号分隔符,但我不确定这是否是因为我的区域设置欺骗没有正确注册。

    1 回复  |  直到 8 年前
        1
  •  1
  •   Robert Longson    8 年前

    不符合 SVG specification 数字可以是

    数字::=整数 |[+-]?[0-9]*“”[0-9],+

    或

    数字::=整数([ee]整数)? |[+-]?[0-9]*“”[0-9]+([ee]整数)?

    有自己的路 BNF 但它基本上是相同的数字定义。总是小数点。