GTK 4.8 ื’ืจืึทืคื™ืงืึทืœ ื˜ืึธืึธืœืงื™ื˜ ื‘ื ื™ืžืฆื

ื ืึธืš ืึทื›ื˜ ื—ื“ืฉื™ื ืคื•ืŸ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’, ื“ื™ ืžืขืœื“ื•ื ื’ ืคื•ืŸ ืึท ืžืึทืœื˜ื™-ืคึผืœืึทื˜ืคืึธืจืžืข ื˜ืึธืึธืœืงื™ื˜ ืคึฟืึทืจ ืงืจื™ื™ื™ื˜ื™ื ื’ ืึท ื’ืจืึทืคื™ืงืึทืœ ื‘ืึทื ื™ืฆืขืจ ืฆื•ื‘ื™ื ื“ ืื™ื– ืืจื•ื™ืก - GTK 4.8.0. GTK 4 ืื™ื– ื“ืขื•ื•ืขืœืึธืคึผืขื“ ื•ื•ื™ ืึท ื˜ื™ื™ืœ ืคื•ืŸ ืึท ื ื™ื™ึทืข ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืคึผืจืึธืฆืขืก ื•ื•ืึธืก ืคืจื•ื•ื•ื˜ ืฆื• ืฆื•ืฉื˜ืขืœืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื“ืขื•ื•ืขืœืึธืคึผืขืจืก ืžื™ื˜ ืึท ืกื˜ืึทื‘ื™ืœ ืื•ืŸ ื’ืขืฉื˜ื™ืฆื˜ ืึทืคึผื™ ืคึฟืึทืจ ืขื˜ืœืขื›ืข ื™ืึธืจืŸ ื•ื•ืึธืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื•ื•ื™ื™ื ื˜ ืึธืŸ ื“ื™ ืžื•ืจื ืคื•ืŸ ืจื™ืจื™ื™ื˜ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ื™ืขื“ืขืจ ื–ืขืงืก ื—ื“ืฉื™ื ืจืขื›ื˜ ืฆื• API ืขื ื“ืขืจื•ื ื’ืขืŸ ืื™ืŸ ื“ืขืจ ื•ื•ื™ื™ึทื˜ืขืจ GTK. ืฆื•ื•ื™ื™ึทื’.

ืขื˜ืœืขื›ืข ืคื•ืŸ โ€‹โ€‹โ€‹โ€‹ื“ื™ ืžืขืจืกื˜ ื ืึธื•ื˜ืึทื‘ืึทืœ ื™ืžืคึผืจื•ื•ื•ืžืึทื ืฅ ืื™ืŸ GTK 4.8 ืึทืจื™ื™ึทื ื ืขืžืขืŸ:

  • ื“ื™ ืงืึธืœื™ืจ ืกืขืœืขืงืฆื™ืข ืฆื•ื‘ื™ื ื“ ื ื•ืกื— ืื™ื– ืคืืจืขื ื“ืขืจื˜ (GtkColorChooser).
  • ื“ื™ ืฉืจื™ืคึฟื˜ ืกืขืœืขืงืฆื™ืข ืฆื•ื‘ื™ื ื“ (GtkFontChooser) ื”ืื˜ ื™ืžืคึผืจื•ื•ื•ื“ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ OpenType ืคึฟืึธืจืžืึทื˜ ืงื™ื™ืคึผืึทื‘ื™ืœืึทื˜ื™ื–.
  • ื“ื™ CSS ืžืึธื˜ืึธืจ ื”ืื˜ ืึธืคึผื˜ื™ืžื™ื–ืขื“ ื“ื™ ืจื™ื’ืจื•ืคึผื™ื ื’ ืคื•ืŸ ืขืœืขืžืขื ื˜ืŸ ืคึฟืึทืจื‘ื•ื ื“ืŸ ืžื™ื˜ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืคืึธื˜ืขืจ, ืื•ืŸ ืึทืœืึทื•ื– ื“ื™ ื ื•ืฆืŸ ืคื•ืŸ ื ื™ื˜-ื™ื ื˜ืึทื“ื–ืฉืขืจ ื•ื•ืึทืœื•ืขืก ื•ื•ืขืŸ ื“ื™ื˜ืขืจืžืึทื ื™ื ื’ ื“ื™ ื’ืจื™ื™ืก ืคื•ืŸ ื“ื™ ืกืคึผื™ื™ืกื™ื ื’ ืฆื•ื•ื™ืฉืŸ ืื•ืชื™ื•ืช.
  • ืขืžืึธื“ื–ืฉื™ ื“ืึทื˜ืŸ ื–ืขื ืขืŸ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื˜ ืฆื• CLDR 40 (Unicode 14). ืฆื•ื’ืขื’ืขื‘ืŸ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื ื™ื™ึทืข ืœืึธื•ืงืึทืœื–.
  • ื“ื™ ื˜ืขืžืข ื”ืื˜ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื˜ ื™ื™ืงืึทื ื– ืื•ืŸ ื™ืžืคึผืจื•ื•ื•ื“ ื“ื™ ืœืขื’ื™ืงื™ื™ื˜ ืคื•ืŸ ื›ื™ื™ืœื™ื™ื˜ื™ื“ ื˜ืขืงืกื˜ ืœืึทื‘ืขืœืก.
  • ื“ื™ GDK ื‘ื™ื‘ืœื™ืึธื˜ืขืง, ื•ื•ืึธืก ื’ื™ื˜ ืึท ืฉื™ื›ื˜ืข ืฆื•ื•ื™ืฉืŸ GTK ืื•ืŸ ื“ื™ ื’ืจืึทืคื™ืงืก ืกืึทื‘ืกื™ืกื˜ืึทื, ื”ืื˜ ืึธืคึผื˜ื™ืžื™ื–ืขื“ ื“ื™ ืงืึทื ื•ื•ืขืจื–ืฉืึทืŸ ืคื•ืŸ ืคึผื™ืงืกืขืœ ืคึฟืึธืจืžืึทื˜ื™ืจื•ื ื’ืขืŸ. ืื•ื™ืฃ ืกื™ืกื˜ืขืžืขืŸ ืžื™ื˜ NVIDIA ื“ืจื™ื•ื•ืขืจืก, ื“ื™ EGL ืคืึทืจืœืขื ื’ืขืจื•ื ื’ EGL_KHR_swap_buffers_with_damage ืื™ื– ืขื ื™ื™ื‘ืึทืœื“.
  • ื“ื™ GSK ื‘ื™ื‘ืœื™ืึธื˜ืขืง (GTK Scene Kit), ื•ื•ืึธืก ื’ื™ื˜ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืžืึทื›ืŸ ื’ืจืึทืคื™ืง ืกื™ื ื– ื“ื•ืจืš OpenGL ืื•ืŸ Vulkan, ืฉื˜ื™ืฆื˜ ืคึผืจืึทืกืขืกื™ื ื’ ืคื•ืŸ ื’ืจื•ื™ืก ืงืขื ื˜ื™ืง ื’ืขื‘ื™ื˜ืŸ (ื•ื•ื™ืขื•ื•ืคึผืึธืจืฅ). ืœื™ื‘ืจืึทืจื™ืขืก ืคึฟืึทืจ ืจืขื ื“ืขืจื™ื ื’ ื’ืœื™ืคืก ื ื™ืฆืŸ ื˜ืขืงืกื˜ืฉืขืจื– ื–ืขื ืขืŸ ืคืืจื’ืขืœื™ื™ื’ื˜.
  • Wayland ืฉื˜ื™ืฆื˜ ื“ื™ "xdg-activation" ืคึผืจืึธื˜ืึธืงืึธืœ, ื•ื•ืึธืก ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืึทืจื™ื‘ืขืจืคื™ืจืŸ ืคืึธืงื•ืก ืฆื•ื•ื™ืฉืŸ ืคืึทืจืฉื™ื“ืขื ืข ืกืขืจืคืึทืกื™ื– ืื•ื™ืฃ ื“ืขืจ ืขืจืฉื˜ืขืจ ืžื“ืจื’ื” (ืœืžืฉืœ, ื ื™ืฆืŸ xdg-ืึทืงื˜ืึทื•ื•ื™ื™ืฉืึทืŸ, ืื™ื™ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืงืขื ืขืŸ ื‘ืึทืฉื˜ื™ืžืขืŸ ืคืึธืงื•ืก ืฆื• ืื ื“ืขืจืŸ).
  • ื“ื™ GtkTextView ื•ื•ื™ื“ื–ืฉื™ื˜ ืจืึทื“ื•ืกืึทื– ื“ื™ ื ื•ืžืขืจ ืคื•ืŸ ืกื™ื˜ื•ืึทื˜ื™ืึธื ืก ื•ื•ืึธืก ืคื™ืจืŸ ืฆื• ืจื™ืคึผื™ื˜ื™ื“ ืจื™ื“ืจืึธื•ื–, ืื•ืŸ ื™ืžืคึผืœืึทืžืึทื ืฅ ื“ื™ GetCharacterExtents ืคื•ื ืงืฆื™ืข ืฆื• ื‘ืึทืฉืœื™ืกืŸ ื“ื™ ื’ืขื’ื ื˜ ืžื™ื˜ ื“ื™ ื’ืœื™ืฃ ื•ื•ืึธืก ื“ื™ืคื™ื™ื ื– ื“ืขื ื›ืึทืจืึทืงื˜ืขืจ ืื™ืŸ ื“ืขื ื˜ืขืงืกื˜ (ืึท ืคึฟื•ื ืงืฆื™ืข ื•ื•ืึธืก ืื™ื– ืคืึธืœืงืก ืื™ืŸ ืžื›ืฉื™ืจื™ื ืคึฟืึทืจ ืžืขื ื˜ืฉืŸ ืžื™ื˜ ื“ื™ืกืึทื‘ื™ืœื™ื˜ื™ื–).
  • ื“ื™ GtkViewport ืงืœืึทืก, ื’ืขื ื™ืฆื˜ ืฆื• ืึธืจื’ืึทื ื™ื–ื™ืจืŸ ืกืงืจืึธืœืœื™ื ื’ ืื™ืŸ ื•ื•ื™ื“ื–ืฉื™ืฅ, ื”ืื˜ ื“ื™ "ืžืขื’ื™ืœืข-ืฆื•-ืคืึธืงื•ืก" ืžืึธื“ืข ืขื ื™ื™ื‘ืึทืœื“ ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜, ืื™ืŸ ื•ื•ืึธืก ื“ื™ ืื™ื ื”ืึทืœื˜ ืื™ื– ืื•ื™ื˜ืึธืžืึทื˜ื™ืฉ ืกืงืจืึธืœืœืขื“ ืฆื• ื”ืึทืœื˜ืŸ ื“ื™ ืขืœืขืžืขื ื˜ ื•ื•ืึธืก ื”ืื˜ ืึทืจื™ื™ึทื ืฉืจื™ื™ึทื‘ ืคืึธืงื•ืก ืื™ืŸ ืžื™ื™ื ื•ื ื’.
  • ื“ื™ GtkSearchEntry ื•ื•ื™ื“ื–ืฉื™ื˜, ื•ื•ืึธืก ื“ื™ืกืคึผืœื™ื™ื– ื“ื™ ื’ืขื’ื ื˜ ืคึฟืึทืจ ืึทืจื™ื™ึทืŸ ืึท ื–ื•ื›ืŸ ืึธื ืคึฟืจืขื’, ื’ื™ื˜ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืงืึทื ืคื™ื’ื™ืขืจ ื“ื™ ืคืึทืจื”ืึทืœื˜ืŸ ืฆื•ื•ื™ืฉืŸ ื“ื™ ืœืขืฆื˜ืข ืงื™ืกื˜ืจืึธื•ืง ืื•ืŸ ืฉื™ืงืŸ ืึท ืกื™ื’ื ืึทืœ ื•ื•ืขื’ืŸ ื“ื™ ืื™ื ื”ืึทืœื˜ ืขื ื“ืขืจื•ื ื’ (GtkSearchEntry :: ื–ื•ื›ืŸ-ื˜ืฉืึทื ื’ืขื“).
  • ื“ื™ GtkCheckButton ื•ื•ื™ื“ื–ืฉื™ื˜ ืื™ืฆื˜ ื”ืื˜ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ื‘ืึทืฉื˜ื™ืžืขืŸ ื–ื™ื™ืŸ ืื™ื™ื’ืขื ืข ืงื™ื ื“ ื•ื•ื™ื“ื–ืฉื™ื˜ ืžื™ื˜ ืึท ืงื ืขืคึผืœ.
  • ืฆื•ื’ืขืœื™ื™ื’ื˜ "ืื™ื ื”ืึทืœื˜-ืคึผืึทืกื™ืง" ืคืึทืจืžืึธื’ ืฆื• ื“ื™ GtkPicture ื•ื•ื™ื“ื–ืฉื™ื˜ ืฆื• ืึทื“ืึทืคึผื˜ ื“ื™ ืื™ื ื”ืึทืœื˜ ืฆื• ืึท ื’ืขื’ืขื‘ืŸ ืฉื˜ื— ื’ืจื™ื™ืก.
  • ืกืงืจืึธืœืœื™ื ื’ ืคืึธืจืฉื˜ืขืœื•ื ื’ ืื™ื– ืึธืคึผื˜ื™ืžื™ื–ืขื“ ืื™ืŸ ื“ื™ GtkColumnView ื•ื•ื™ื“ื–ืฉื™ื˜.
  • ื“ื™ GtkTreeStore ื•ื•ื™ื“ื–ืฉื™ื˜ ืึทืœืึทื•ื– ื“ื™ ื™ืงืกื˜ืจืึทืงืฉืึทืŸ ืคื•ืŸ ื‘ื•ื™ื ื“ืึทื˜ืŸ ืคื•ืŸ ื˜ืขืงืขืก ืื™ืŸ ื•ื™ื™ ืคึฟืึธืจืžืึทื˜.
  • ื ื ื™ื™ึทืข ื•ื•ื™ื“ื–ืฉื™ื˜ ืคึฟืึทืจ ื•ื•ื™ื™ึทื–ื ื“ื™ืง ืจืฉื™ืžื•ืช ืื™ื– ืฆื•ื’ืขื’ืขื‘ืŸ ืฆื• ื“ื™ GtkInscription ืงืœืึทืก, ื•ื•ืึธืก ืื™ื– ืคืึทืจืึทื ื˜ื•ื•ืึธืจื˜ืœืขืš ืคึฟืึทืจ ื•ื•ื™ื™ึทื–ื ื“ื™ืง ื˜ืขืงืกื˜ ืื™ืŸ ืึท ืกืคึผืขืฆื™ืคื™ืฉ ื’ืขื’ื ื˜. ืฆื•ื’ืขื’ืขื‘ืŸ ืึท ื“ืขืžืึธ ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ืžื™ื˜ ืึท ื‘ื™ื™ึทืฉืคึผื™ืœ ืคื•ืŸ ื ื™ืฆืŸ GtkInscription.
  • ืฆื•ื’ืขืœื™ื™ื’ื˜ ืกืงืจืึธืœืœื™ื ื’ ืฉื˜ื™ืฆืŸ ืฆื• ื“ื™ GtkTreePopover ื•ื•ื™ื“ื–ืฉื™ื˜.
  • ื“ื™ GtkLabel ื•ื•ื™ื“ื–ืฉื™ื˜ ื”ืื˜ ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื˜ืึทื‘ืก ืื•ืŸ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืึทืงื˜ืึทื•ื•ื™ื™ื˜ ืœืึทื‘ืขืœืก ื“ื•ืจืš ื’ืขื‘ืŸ ืึท ืงืœื™ืง ืื•ื™ืฃ ื“ื™ ืกื™ืžื‘ืึธืœืก ืคึฟืึทืจื‘ื•ื ื“ืŸ ืžื™ื˜ ื“ื™ ืคื™ืจืžืข ืื•ื™ืฃ ื“ื™ ืงืœืึทื•ื•ื™ืึทื˜ื•ืจ.
  • ื“ื™ GtkListView ื•ื•ื™ื“ื–ืฉื™ื˜ ืื™ืฆื˜ ืฉื˜ื™ืฆื˜ ื“ื™ ":: n-ื™ื™ื˜ืึทืžื–" ืื•ืŸ ":: ื ื•ืžืขืจ-ื˜ื™ืคึผ" ืคึผืจืึธืคึผืขืจื˜ื™ืขืก.
  • ื“ื™ ืึทืจื™ื™ึทื ืฉืจื™ื™ึทื‘ ืกื™ืกื˜ืขื ื’ื™ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืกืงืจืึธืœืœื™ื ื’ ื“ื™ืžืขื ืฉืึทื ื– ืคึผืึทืจืึทืžืขื˜ืขืจ ื”ืึทื ื“ืœืขืจืก (GDK_SCROLL_UNIT_WHEEL, GDK_SCROLL_UNIT_SURFACE).
  • ืคึฟืึทืจ ื“ื™ macOS ืคึผืœืึทื˜ืคืึธืจืžืข, ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืคื•ืœ ืคืึทืจืฉื˜ืขืœืŸ ืžืึธื“ืข ืื•ืŸ ื•ื•ื™ื“ืขื ืคึผืœื™ื™ื‘ืึทืง ืžื™ื˜ OpenGL ืื™ื– ืฆื•ื’ืขื’ืขื‘ืŸ. ื™ืžืคึผืจื•ื•ื•ื“ ืžืึธื ื™ื˜ืึธืจ ื“ื™ื˜ืขืงืฉืึทืŸ, ืึทืจื‘ืขื˜ ืื™ืŸ ืžื•ืœื˜ื™-ืžืึธื ื™ื˜ืึธืจ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทื ื–, ืคึฟืขื ืฆื˜ืขืจ ืคึผืœื™ื™ืกืžืึทื ื˜ ืื•ืŸ ื’ืจื™ื™ืก ืกืขืœืขืงืฆื™ืข ืคึฟืึทืจ ื“ื™ ื˜ืขืงืข ื“ื™ืึทืœืึธื’. CALayer ืื•ืŸ IOSurface ื–ืขื ืขืŸ ื’ืขื ื™ืฆื˜ ืคึฟืึทืจ ืจืขื ื“ืขืจื™ื ื’. ืึทืคึผืคึผืœื™ืงืึทื˜ื™ืึธื ืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ืœืึธื ื˜ืฉื˜ ืื™ืŸ ื“ืขืจ ื”ื™ื ื˜ืขืจื’ืจื•ื ื˜.
  • ืื•ื™ืฃ ื“ื™ Windows ืคึผืœืึทื˜ืคืึธืจืžืข, ืคึฟืขื ืฆื˜ืขืจ ืคึผืœื™ื™ืกืžืึทื ื˜ ืื•ื™ืฃ HiDPI ืกืงืจื™ื ื– ืื™ื– ื™ืžืคึผืจื•ื•ื•ื“, ืึท ืงืึธืœื™ืจ ื“ื™ื˜ืขืงืฉืึทืŸ ืฆื•ื‘ื™ื ื“ ืื™ื– ืฆื•ื’ืขื’ืขื‘ืŸ, ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื”ื•ื™ืš-ื”ืึทื›ืœืึธื˜ืข ืžื•ื™ื– ืจืึธื“ ื’ืขืฉืขืขื ื™ืฉืŸ ืื™ื– ื™ืžืคึผืœืึทืžืขื ืึทื“ ืื•ืŸ ื˜ืึธื•ื˜ืฉืคึผืึทื“ ืฉื˜ื™ืฆืŸ ืื™ื– ื™ืžืคึผืจื•ื•ื•ื“.
  • ื ืกืงืจืขืขื ืฉืึธื˜ ื‘ืึทืคึฟืขืœ ืื™ื– ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฆื• ื“ื™ gtk4-builder-tool ื ื•ืฆืŸ ืฆื• ืฉืึทืคึฟืŸ ืึท ืกืงืจืขืขื ืฉืึธื˜, ื•ื•ืึธืก ืื™ื– ื’ืขื ื™ืฆื˜ ื•ื•ืขืŸ ื“ื–ืฉืขื ืขืจื™ื™ื˜ื™ื ื’ ืกืงืจืขืขื ืฉืึธืฅ ืคึฟืึทืจ ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ.
  • ื™ื ืกื˜ืึทืœื™ืจื•ื ื’ ืคื•ืŸ ื“ื™ gtk4-node-editor ื ื•ืฆืŸ ืื™ื– ืฆื•ื’ืขืฉื˜ืขืœื˜.
  • ื“ื™ ื‘ื•ื’ื’ืขืจ ืงื™ื™ืคึผืึทื‘ื™ืœืึทื˜ื™ื– ื–ืขื ืขืŸ ื™ืงืกืคึผืึทื ื“ื™ื“. ื™ืžืคึผืœืึทืžืขื ืึทื“ ืึทืจื•ื™ืกื•ื•ื™ื™ึทื–ืŸ ืคื•ืŸ ื ืึธืš ืึทืคึผืœืึทืงื™ื™ืฉืึทืŸ ื“ืึทื˜ืŸ ืื•ืŸ ืขืจืœื•ื™ื‘ื˜ ื•ื•ื™ื•ื™ื ื’ ืคื•ืŸ PangoAttrList ืคึผืจืึธืคึผืขืจื˜ื™ืขืก ื‘ืขืฉืึทืก ื“ื•ืจื›ืงื•ืง. ื™ื ืกืคึผืขืงืฉืึทื ื– ื“ื•ืจืš ื™ื ืกืคึผืขืงื˜ืขืจื– ื–ืขื ืขืŸ ืขืจืœื•ื™ื‘ื˜. ืฆื•ื’ืขื’ืขื‘ืŸ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ื“ื™ ืžืึธื“ืข "GTK_DEBUG = ื™ื ื•ื•ืขืจื˜-ื˜ืขืงืกื˜-dir". ืึทื ืฉื˜ืึธื˜ ื“ื™ GTK_USE_PORTAL ืกื•ื•ื™ื•ื•ืข ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง, ื“ื™ "GDK_DEBUG = ืคึผืึธืจื˜ืึทืœืก" ืžืึธื“ืข ืื™ื– ืคืืจื’ืขืœื™ื™ื’ื˜. ื™ืžืคึผืจื•ื•ื•ื“ ืจื™ืกืคึผืึทื ืกื™ื•ื•ื ืึทืก ืคื•ืŸ ื“ื™ ื“ื•ืจื›ืงื•ืง ืฆื•ื‘ื™ื ื“.
  • ืกืึธื•ื ื“ ืฉื˜ื™ืฆืŸ ืื™ื– ืฆื•ื’ืขื’ืขื‘ืŸ ืฆื• ื“ื™ ffmpeg ื‘ืึทืงืขื ื“.
  • ื“ื™ ื–ื™ืงืึธืจืŸ ืœื™ืžื™ื˜ ืื™ืŸ ื“ื™ JPEG ื‘ื™ืœื“ ื“ืึธื•ื•ื ืœืึธืึทื“ืขืจ ืื™ื– ื’ืขื•ื•ืืงืกืŸ ืฆื• 300 ืžืขื’ืื‘ื™ื™ื˜ืŸ.

ืžืงื•ืจ: opennet.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’