Html2canvas: FontAwesome ์•„์ด์ฝ˜์€ Firefox์—์„œ๋งŒ ๋ Œ๋”๋ง๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2013๋…„ 12์›” 18์ผ  ยท  20์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: niklasvh/html2canvas

FontAwesome http://fontawesome.io/ ์•„์ด์ฝ˜์€ ํฌ๋กฌ์—์„œ๋Š” ์ž˜ ๋ Œ๋”๋ง๋˜์ง€๋งŒ ํŒŒ์ด์–ด ํญ์Šค์—์„œ๋Š” ๋ Œ๋”๋ง๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ƒ์ž๋ฅผ ๋ Œ๋”๋งํ•ฉ๋‹ˆ๋‹ค.
rendering font awesome icons

Bug Firefox

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

fontawesome์˜ ๋ฌธ์ œ๋Š” 'html2canvas 1.0.0-alpha.12'๋ฒ„์ „์—์„œ ์—ฌ์ „ํžˆ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  20 ๋Œ“๊ธ€

jsfiddle์— ์˜ˆ์ œ๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์‚ฌ์šฉ์ž ์ •์˜ ์•„์ด์ฝ˜ ๊ธ€๊ผด๊ณผ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. Safari ๋ฐ Chrome์—์„œ๋Š” ์ž‘๋™ํ•˜์ง€๋งŒ Firefox ๋ฐ IE์—์„œ๋Š” ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ช‡ ๊ฐ€์ง€ ํŒŒ๊ณ  ๋“ค์—ˆ๊ณ  Firefox 26 ๋ฐ IE 11์—์„œ ์ž‘๋™ํ•˜๋„๋ก ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๋Š” ๋‹ค์Œ ์ค„์ž…๋‹ˆ๋‹ค.

https://github.com/niklasvh/html2canvas/blob/master/src/Parse.js#L951

์™œ ๊ทธ๋Ÿฐ ์ผ์ด ์ผ์–ด๋‚˜๋Š”์ง€ ์„ค๋ช…ํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‚ด ๊ฐ€์ • ์ค‘ ์ผ๋ถ€๊ฐ€ ์ž˜๋ชป๋˜์—ˆ์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ž์œ ๋กญ๊ฒŒ ์ˆ˜์ •ํ•˜์‹ญ์‹œ์˜ค.

์›นํ‚ท์ด ์•„๋‹Œ ๋ธŒ๋ผ์šฐ์ €์—์„œ getComputedStyles์— ์˜ํ•ด ๋ฐ˜ํ™˜๋˜๋Š” ๊ฐ์ฒด๋Š” ๊ฐ์ฒด์˜ ์ˆซ์ž ์†์„ฑ { 0: 'fontFamily' } ์™€ ํ”„๋กœํ†  ํƒ€์ž…์˜ ํ‚ค ๊ฐ’ ์Œ { fontFamily: 'fontawesome' } ์„ค์ •ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. Object.keys๋Š” Object.hasOwnProperty ์™€ ํ•จ๊ป˜ for in ๋ฃจํ”„์ฒ˜๋Ÿผ ์ž‘๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ’ ์Œ์„ ์ƒ๋žตํ•˜๋ฏ€๋กœ CSS ์Šคํƒ€์ผ์ด ๋ณต์‚ฌ๋˜์ง€ ์•Š๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด Object.keys() , ํ•„ํ„ฐ ๋ฉ”์„œ๋“œ ๋ฐ forEach ๋ฉ”์„œ๋“œ๋ฅผ for in ๋ฃจํ”„๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

for (var prop in elStyle) {
  if (indexedProperty(prop) && prop !== 'cssText') {
    // Prevent assigning of read only CSS Rules, ex. length, parentRule
    try {
      elps.style[prop] = elStyle[prop];
    } catch (e) {
      h2clog(['Tried to assign readonly property ', prop, 'Error:', e]);
    }
  }
}

๋‚ด๊ฐ€ prop !== 'cssText' ๋ฅผ ํ™•์ธํ•˜๋Š” ์ด์œ ๋Š” Firefox์—์„œ๋Š” ํ•ญ์ƒ ๋นˆ ๋ฌธ์ž์—ด (๋ฒ„๊ทธ?)์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋นˆ ๋ฌธ์ž์—ด์„ ์˜์‚ฌ ์š”์†Œ์— ๋ณต์‚ฌํ•˜๋ฉด fontFamily๊ฐ€ ๋‹ค์‹œ ์žฌ์„ค์ •๋˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋„์›€์ด ๋˜์—ˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

@Enome ์ด๊ฒƒ์€ ๋งค์šฐ ์ข‹์Šต๋‹ˆ๋‹ค. ๋น„๋ก ์•„์ง ํ…Œ์ŠคํŠธ๋ฅผํ•˜์ง€ ์•Š์•˜์ง€๋งŒ "Pull Request"๋ฅผ ๋ณด๋‚ด์ฃผ์„ธ์š”.

๊ฐ์‚ฌ! : +1 :

@Enome ์ด์ด ์ฃผ์ œ์— ๋Œ€ํ•ด pull ์š”์ฒญ์„ ํ–ˆ์Šต๋‹ˆ๊นŒ? ํ˜„์žฌ ๊ทธ์˜ ์ฝ”๋“œ๋ฅผ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์œผ๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

@fpslater ํ’€ ์š”์ฒญ์„ ํ•œ ์ ์ด ์—†์Šต๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๊ธฐ์–ตํ•˜๋ฉด html-> canvas ๋ณ€ํ™˜ ์‹œ๋„์—์„œ ๋ฒ—์–ด๋‚˜ ๋Œ€์‹  svg๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

FontAwesome์€ Chrome ๋ฐ PhantomJS์™€ ๊ฐ™์€ ์›นํ‚ท ๋ธŒ๋ผ์šฐ์ €์—์„œ๋„ ๋ Œ๋”๋งํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.

@kmdavis html2canvas v0.5 ๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด์…จ์Šต๋‹ˆ๊นŒ?

ํ˜„์žฌ html2canvas v0.5.0-alpha๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ๊ฐ€ ๋ณต์ œ ๋  ์ˆ˜ ์žˆ๊ฑฐ๋‚˜ http://jsfiddle.net/3ub69/52/ ๊ฐ€ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” jsfiddle์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ ์˜ˆ์ œ๋ฅผ ์ œ๊ณต ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์ด ๋ฌธ์ œ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. html2canvas v0.5๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒํ•˜๋‚˜์š”? ๋‚˜๋Š” ์ด๊ฒƒ์„ ๋ฌป๋Š” ์–ด๋ฆฌ์„์€ ๋Š๋‚Œ์ด ๋“ค์ง€๋งŒ์ด ์ €์žฅ์†Œ์— ๊ทธ๋Ÿฌํ•œ ๋ถ„๊ธฐ ๋˜๋Š” ํƒœ๊ทธ๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ฏธ๋ฆฌ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

์ถ”์‹  : gem 'rails-assets-html2canvas ๋ฐ ๋‹ค์Œ bower.json ํŒŒ์ผ๊ณผ ํ•จ๊ป˜ rails-assets๋ฅผ ํ†ตํ•ด html2canvas๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

{
  "name": "My-App",
  "dependencies": {
    "html2canvas": "https://github.com/niklasvh/html2canvas"
  }
}

https://rails-assets.org/components ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ์ด rails-assets์—๋Š” <= 0.4.1 ๋ฒ„์ „ ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์ €๋Š” app/assets/javascripts/vendor/ ํด๋”์— ์ตœ์‹  dist / html2canvas.js๋ฅผ ๊ฐ„๋‹จํžˆ ์ถ”๊ฐ€ํ–ˆ๊ณ  ๋‹น๋ถ„๊ฐ„ ๊ทธ๋ ‡๊ฒŒ ์‚ฌ์šฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋งค์šฐ ์œ ์šฉํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋งŒ๋“ค์–ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

@sweetleon html2canvas.js ํŒŒ์ผ์„ ์—ฌ๊ธฐ์„œ ์ˆ˜์ • ํ•œ ํŒŒ์ผ๋กœ ๋ฐ”๊ฟ”๋ณด์‹ญ์‹œ์˜ค. ๊ทธ๊ฒƒ์€ ๋‚˜๋ฅผ ์œ„ํ•ด ์ผํ–ˆ์Šต๋‹ˆ๋‹ค.

https://github.com/fpslater/fix-html2canvas-webkit-font-conversion

@sweetleon ์˜ค

๋‚˜๋Š” ๊ฐ™์€ ๋ฌธ์ œ๋ฅผ ๊ฐ€์ง€๊ณ 

fontawesome์˜ ๋ฌธ์ œ๋Š” 'html2canvas 1.0.0-alpha.12'๋ฒ„์ „์—์„œ ์—ฌ์ „ํžˆ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์–ด๋–ค ํ•ด๊ฒฐ์ฑ…์ด ์žˆ์Šต๋‹ˆ๊นŒ? ๊ฐ์‚ฌ

fontawesome์˜ ๋ฌธ์ œ๋Š” 'html2canvas 1.0.0-rc.5 ๋ฒ„์ „์—์„œ ์—ฌ์ „ํžˆ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰