Html2canvas: рдХреНрд░реЛрдо / рдХреНрд░реЛрдорд┐рдпрдо рдореЗрдВ рдЕрд╕рд╛рдорд╛рдиреНрдп рдЕрдХреНрд╖рд░ рд░рд┐рдХреНрддрд┐

рдХреЛ рдирд┐рд░реНрдорд┐рдд 19 рдирд╡ре░ 2017  ┬╖  25рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: niklasvh/html2canvas

рдХреЙрд▓ рдХрд░рддреЗ рд╕рдордп:

html2canvas(document.getElementsByClassName('console'), {
      onrendered: function(canvas) {
        var img = canvas.toDataURL()
        var iframe = '<iframe src="' + img + '" frameborder="0" style="border:0; top:0px; left:0px; bottom:0px; right:0px; width:100%; height:100%;" allowfullscreen></iframe>'
        var x = window.open();
        x.document.open();
        x.document.write(iframe);
        x.document.close();
      },
      letterRendering: true,
    });

letterRendering рд╕рд╛рде рдпрд╛ рдмрд┐рдирд╛, рдпрд╣ рдХреНрд░реЛрдо рдЖрдЙрдЯрдкреБрдЯ рд╣реИ:

html2canvasbug

рдЬрдм рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рд╣реИ:

screenshot-2017-11-19 http localhost

рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ рдХрд╛рд░рдг рдХреНрдпреЛрдВ рдпрд╣ рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИ?

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореИрдВрдиреЗ рдпрд╣ рднреА рддрдп рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЙрд╕ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдкрд░ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдБ рдЬрд┐рд╕реЗ рдореИрдВ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЪрд╛рд╣рддрд╛ рд╣реВрдБ рдФрд░ рдлрд┐рд░ рдореИрдВрдиреЗ " font-variant: normal; " рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИред

рд╕рднреА 25 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЕрдХреНрд╖рд░ рд░рд┐рдХреНрддрд┐ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╢рдмреНрдж рд░рд┐рдХреНрддрд┐) рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд╣реА рджрд┐рдЦрддрд╛ рд╣реИ, рдЬреЛ рд╕рд╣реА рдирд╣реАрдВ рд▓рдЧрддрд╛ рд╣реИ рд╡рд╣ рдлрд╝реЙрдиреНрдЯ рдкрд░рд┐рд╡рд╛рд░ рд╣реИред Html2canvas рдХрд╛ рдХреМрди рд╕рд╛ рд╕рдВрд╕реНрдХрд░рдг рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдХреНрдпрд╛ рдЖрдк jsfiddle рдкрд░ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рджреЛрд╣рд░рд╛ рд╕рдХрддреЗ рд╣реИрдВ?

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдкрддреНрд░ рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИред

рдЖрдкрдХреЗ рдЬрд╡рд╛рдм рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж,

рдореИрдВ рд╕рдВрд╕реНрдХрд░рдг 0.5.0-beta4 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдЖрдкрдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдХрд╛рдо рд░рд┐рдХреНрддрд┐ рд╕рд╣реА рд▓рдЧ рд░рд╣рд╛ рд╣реИ? рдХреНрдпрд╛ рдЖрдк рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рд╕рд╛рдЭрд╛ рдХреА рдЧрдИ рдкрд╣рд▓реА рддрд╕реНрд╡реАрд░ рдХрд╛ рдЬрд┐рдХреНрд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдХреНрдпрд╛ рдлреЙрдиреНрдЯ рд╢рдмреНрджреЛрдВ рдХреЗ рдмреАрдЪ рдРрд╕реА рджреВрд░реА рдкреИрджрд╛ рдХрд░реЗрдЧрд╛?

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдореИрдВ рдЙрд╕ рдкрд╛рда рд╕рдВрдкрд╛рджрдХ рдХреЗ рд▓рд┐рдП CodeMirror рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ рдЬреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдХ рдХреЛрдгреАрдп рдЖрд╡рд░рдг: ng2-codemirror рд╣реИ ред

рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдХреЛрдИ рдлрд╛рдпрджрд╛ рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреА рдмрд╛рдд рджреЛрд╣рд░рд╛рддреЗ рд╣реБрдП рдХреЛрд╢рд┐рд╢ рдХреАред

рдореБрдЭреЗ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдФрд░ рдХреНрд░реЛрдо рдореЗрдВ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓реАред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╛рда рдкрд░ рдкрддреНрд░-рд░рд┐рдХреНрддрд┐ рд╕реАрдПрд╕рдПрд╕ рдирд┐рдпрдо рд╣реИ рддреЛ рдпрд╣ рдкреНрд░рддреНрдпреЗрдХ рд╢рдмреНрдж рдХреЗ рдмреАрдЪ рдкрд╛рда рдХреЛ рдмрдбрд╝реЗ рдЕрдВрддрд░рд╛рд▓ рдХреЗ рд╕рд╛рде рдкреНрд░рд╕реНрддреБрдд рдХрд░реЗрдЧрд╛ред рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг 0.4.1 рдореЗрдВ рдРрд╕рд╛ рдирд╣реАрдВ рдерд╛ред рдпрд╣ рдкрд╛рда рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рд▓реЗрдХрд┐рди рдпрд╣ рдЫрджреНрдо рддрддреНрд╡ рдЧрд╛рдпрдм рдерд╛ (рдкрд╣рд▓реЗ: рдмрд╛рдж рдореЗрдВ)

рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдк letter-spacing рдирд┐рдпрдо рдирд┐рдХрд╛рд▓ рджреЗрддреЗ рд╣реИрдВ рддреЛ рд╕рдм рдХреБрдЫ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ? рдореИрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рди рддреЛ рдореЗрд░реЗ рдШрдЯрдХ рдХреА рд╕реАрдПрд╕рдПрд╕ рдореЗрдВ рдФрд░ рди рд╣реА рдореЗрд░реЗ рдХрд╕реНрдЯрдо code-mirror рдХреЗ рд╕реАрдПрд╕рдПрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВред

рд╣рд╛рдБ рд╕реАрдПрд╕рдПрд╕ рд╕реЗ рдкрддреНрд░-рд░рд┐рдХреНрддрд┐ рдирд┐рдпрдо рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреЗ рдмрд╛рдж рд╕рдорд╕реНрдпрд╛ рджреВрд░ рд╣реЛ рдЧрдИ рд╣реИред рд╢рдмреНрджреЛрдВ рдХреЗ рдмреАрдЪ рдХреЛрдИ рдмрдбрд╝рд╛ рд╕реНрдерд╛рди рдирд╣реАрдВ рд╣реИред рдпрд╣ рдкрддреНрд░-рд░рд┐рдХреНрддрд┐ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВ рдкреГрд╖реНрда рдХреЗ рдкреНрд░рддрд┐рдкрд╛рджрди рдореЗрдВ рдХреБрдЫ рд╣реИ рдЬреЛ рдЗрд╕реЗ рдЧрдбрд╝рдмрдбрд╝ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ! рдореИрдВрдиреЗ рд╕рд┐рд░реНрдл рдорд╛рд╕реНрдЯрд░ рдкрд░ рдирд╡реАрдирддрдо рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЕрдм рддрдХ рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИред рдкрд╣рд▓реЗ рдореИрдВрдиреЗ v0.5.0-beta4 рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рд╕рд╛рде рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдерд╛ред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдкрд░ 1 рдЕрдВрдХ рдорд┐рд▓рд╛ред рдкреГрд╖реНрдарднреВрдорд┐-рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдЬрдм рдкрд╛рда рдХреЗ рд▓рд┐рдП рдХреНрд▓рд┐рдк рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ
-webkit- рдкреГрд╖реНрдарднреВрдорд┐-рдХреНрд▓рд┐рдк: рдкрд╛рда;
-рд╡реЗрдмрдХрд┐рдЯ-рдкрд╛рда-рднрд░рдг-рд░рдВрдЧ: рдкрд╛рд░рджрд░реНрд╢реА;
рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдХреНрд░реЛрдо рдореЗрдВ рдорд╣рд╛рди рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдореИрдВ рдЕрдкрдиреЗ CSS рдореЗрдВ рдХрд┐рд╕реА letter-spacing рдкреНрд░реЙрдкрд░реНрдЯреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рдФрд░ рд╕рдорд╕реНрдпрд╛ рдЕрднреА рднреА рдореМрдЬреВрдж рд╣реИред рдореИрдВ рд╣рд╛рд▓рд╛рдВрдХрд┐ v0.5.0-beta4 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдирд╡реАрдирддрдо рдорд╛рд╕реНрдЯрд░ рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред

рд╣реЛ рдЧрдпрд╛, рдФрд░ рдлрд┐рд░ рднреА рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдкреНрд░рджрд░реНрд╢рди рд╕рдорд╛рди рд░рд╣рддрд╛ рд╣реИред

Https://github.com/niklasvh/html2canvas/commit/77d258f1d8eeccf7e38235463a293b512c1ca3d0 рдХреЗ рд╕рд╛рде рддрдп рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП

рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕реЗ рд╕рдорд╕реНрдпрд╛ рдмрдиреА рд░рд╣рддреА рд╣реИ рдЬреИрд╕реЗ:

screenshot_2017-12-18_09-56-43

рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рддрддреНрд╡ рдХрд╛ рдкреНрд░рддрд┐рдкрд╛рджрди рдХрд┐рдпрд╛ рд╣реИ:

html2canvas(document.body).then(function(canvas) {      
      document.body.appendChild(canvas);
});    

рдореИрдВрдиреЗ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдмрддрд╛рдП рдЕрдиреБрд╕рд╛рд░ рдирд╡реАрдирддрдо рдкреВрд░реНрд╡-рд░рд┐рд▓реАрдЬрд╝ рд╕рдВрд╕реНрдХрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдкреБрд░рд╛рдиреЗ рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИред

рдпрджрд┐ рдЖрдк letterRendering: true рд╡рд┐рдХрд▓реНрдк рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ рддреЛ @christopherkade рдЗрд╕реЗ рдареАрдХ рдХрд░рддрд╛ рд╣реИ?

рдЕрдлрд╕реЛрд╕ рдХреА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐, рдореИрдВ рдпрд╣ рдХреИрд╕реЗ рдХрд░реВрдБ:

let element = document.getElementById('console');
const options = {
  letterRendering: true
};

html2canvas(element, options).then(function(canvas) {      
  document.body.appendChild(canvas);

  var url = canvas.toDataURL();
  var img = '<img src="' + url + '" style="border:0;"></img>'
  var x = window.open();
  x.document.open();
  x.document.write(img);
  x.document.close();
});

рдЕрдЧрд░ рдореИрдВ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рднреА рд╡рд╣реА рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рддрд╛ рд╣реИред

рдореБрдЭреЗ рдЗрд╕ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдорд┐рд▓ рдЧрдпрд╛ рд╣реИ (рдФрд░ рдпрд╣ рдмрд╣реБрдд рд╕рд╛рдл рдирд╣реАрдВ рд╣реИ):

// Package used to detect the browser used by the user
const browser = detect();
const element = document.getElementById('console');

// Set up my options
let options = {};
// For some reason foreignObjectRendering solves the spacing issue on Chrome but gives an error on Firefox, so I detect the browser and apply the adequate options.
if (browser && browser.name === 'chrome') {      
  options = {
    useCORS: true,
    foreignObjectRendering: true
  };  
}

// Open the canvas in a new window
html2canvas(element, options).then(function(canvas) {
  const url = canvas.toDataURL();
  const img = '<img src="' + url + '" style="border:0;"></img>'
  const x = window.open();
  x.document.open();
  x.document.write(img);
  x.document.close();
});

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рджреВрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдкрд░ рдореБрдЭреЗ рдЬреЛ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ рд╡рд╣ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:

рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ (рд╡рд╛рджрд╛ рдореЗрдВ): [рдЕрдкрд╡рд╛рдж ... \ "рд╡рд┐рдзрд┐ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реБрдИ \" ...

рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ!!

рд╕реАрдПрд╕рдПрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛ рдлрд╝реЙрдиреНрдЯ-рд╕рдВрд╕реНрдХрд░рдг-рд╕рдВрдЦреНрдпрд╛рддреНрдордХ: HTML рдирд┐рдХрд╛рдп рд╕реЗ

font-variant: tabular-nums; ( in antd.css ) рдХреЛ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд╕рд╛рде рдРрд╕реА рд╣реА рд╕рдорд╕реНрдпрд╛
2018-12-19 19 20 38

рдЕрд░рдмреА рднрд╛рд╖рд╛ рдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рдХрд┐рд╕реА рднреА рд╕реБрдЭрд╛рд╡ рдХреГрдкрдпрд╛?

@mohafouad +1

рдХреНрдпрд╛ рдЖрдкрдиреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдлрд┐рдХреНрд╕ рдкрд╛рдпрд╛ рд╣реИ? рдзрдиреНрдпрд╡рд╛рджред

@ 2xSamurai рдирд╣реАрдВ: (

рдореИрдВрдиреЗ рдпрд╣ рднреА рддрдп рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЙрд╕ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдкрд░ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдБ рдЬрд┐рд╕реЗ рдореИрдВ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЪрд╛рд╣рддрд╛ рд╣реВрдБ рдФрд░ рдлрд┐рд░ рдореИрдВрдиреЗ " font-variant: normal; " рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдорджрдж рдХрд░рддрд╛ рд╣реИред

рдЕрдЧрд░ рдореИрдВ рдкреВрд░реА рд╕рд╛рдордЧреНрд░реА рдХреЗ рдмрд╛рд╣рд░реА рд╡рд┐рднрд╛рдЧ рдореЗрдВ font-variant: normal !important рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ, рддреЛ (рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ)

рд╡рд╣реА рд╕рдорд╕реНрдпрд╛, рдореБрдЭреЗ рдкрд╛рдЧрд▓ рдХрд░ рджрд┐рдпрд╛
image

рдлрд╝реЙрдиреНрдЯ-рдкреНрд░рдХрд╛рд░: рд╕рд╛рдорд╛рдиреНрдп! рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ

@ Malarkey-Jhu's рдФрд░ @maaoui рдХреЗ рдЬрд╡рд╛рдм рдиреЗ рдореЗрд░реА рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рдХрд░ рджреАред

рдореЗрд░реЗ рдкрд╛рд╕ рдЬреЛ рд╕рдорд╕реНрдпрд╛ рдереА: рдлрд╝реЙрдиреНрдЯ рдкрд░рд┐рд╡рд╛рд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рдерд╛ рдФрд░ рд░рд┐рдХреНрддрд┐ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЕрд╕реНрдерд┐рд░ рдереАред рдХрднреА-рдХрднреА рдореЗрд░реЗ рдкрд╛рд╕ рдУрд╡рд░рд▓реЗрдкрд┐рдВрдЧ рд▓реЗрдЯрд░ рд╣реЛрддреЗред

рдореИрдВ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реВрдВ: рдирд┐рд░реНрдпрд╛рдд рдХреЗ рджреМрд░рд╛рди рдореИрдВ рдЯреЗрдХреНрд╕реНрдЯ рдХреЗ рд╕рд╛рде рддрддреНрд╡ рдкрд░ element.style.setProperty ('font-variant', 'normal') рдХреЙрд▓ рдХрд░рддрд╛ рд╣реВрдВ, рдФрд░ рдпрд╣ рдлрд╝реЙрдиреНрдЯ-рдкрд░рд┐рд╡рд╛рд░ рдХреЛ рдареАрдХ рд╕реЗ рджрд┐рдЦрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдФрд░ рд░рд┐рдХреНрддрд┐ рд╕рднреА winky рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП ред рдлрд┐рд░ рдореИрдВрдиреЗ рдЙрд╕ рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЛ рдирд┐рдХрд╛рд▓ рджрд┐рдпрд╛, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдореИрдВрдиреЗ рдПрдХреНрд╕рдкреЛрд░реНрдЯ рдЦрддреНрдо рдХрд┐рдпрд╛ред

рдЙрдкрд░реЛрдХреНрдд рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдореЗрд░реЗ рд▓рд┐рдП -webkit-font-variant-ligatures рдФрд░ font-variant-ligatures рд╕реЗ normal рдХреЛрдбрдореЗрдХрд░ рд╕реАрдПрд╕рдПрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдмрджрд▓рдХрд░ рддрдп рдХреА рдЧрдИ рд╣реИред рдореИрдВ CodeMirror рд╕рдВрд╕реНрдХрд░рдг 5.42.2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

AlphaDu picture AlphaDu  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

deepender87 picture deepender87  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

anthonymejia picture anthonymejia  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ABHIKSINGHH picture ABHIKSINGHH  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

celik75 picture celik75  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ