рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдмрдпрд╛рди
рдЖрдк рд╡рд┐рднрд┐рдиреНрди рд╕реНрд╡рд░реВрдкреЛрдВ рдореЗрдВ рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП png, svg рдпрд╛ ttf рдлреЛрдВрдЯ, Xamarin.Forman рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЖрдЗрдХрди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдЕрдХреНрд╕рд░, рдЖрдЗрдХрди рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝реЙрдиреНрдЯ рдорд╛рдирдХ рдЖрдЗрдХрди рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП Google рд╕рд╛рдордЧреНрд░реА рдЖрдЗрдХрдиред рдЖрдЗрдХрди рдХреЗ рд╕рд╛рде рдлрд╝реЙрдиреНрдЯ рдХрд╛ рдЖрдХрд╛рд░ рд▓рдЧрднрдЧ 200K рд╣реИ рдФрд░ рдкреНрд░рдпреЛрдЬреНрдп рдЖрдорддреМрд░ рдкрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рдЖрдХрд╛рд░ рдкрд░ рд╕рд╣реЗрдЬрдиреЗ рд╕реЗ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдЖрдЗрдХрди рдХрд┐рд╕реА рднреА рд╕реНрдХреНрд░реАрди рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдкрд░ рдЕрдЪреНрдЫреЗ рджрд┐рдЦреЗрдВрдЧреЗ рдФрд░ рдХрд╛рд▓реЗ рдФрд░ рд╕рдлреЗрдж рд╣реЛрдВрдЧреЗред
рдЖрдЗрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдирдЧреЗрдЯ рдкреИрдХреЗрдЬ рд╣реИрдВред рдореИрдВрдиреЗ рдПрдХ рд▓рдВрдмреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рдЖрдЗрдХрдирд┐рдЬрд╝ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ (nuget -
www.nuget.org/packages/Xam.Plug.P.Iconize ; git -
github.com/jsmarcus/Iconize )ред рдпрд╣ рдЖрдкрдХреЛ рджрд╕ рд╕реЗ рдЕрдзрд┐рдХ рдлреЛрдВрдЯ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдирдП рдирд┐рдпрдВрддреНрд░рдг рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдЖрдЗрдХрдирдмрдЯрди, рдЖрдИрдХреИрдореЗрдЬ, рдЖрдИрдХреЙрдирдмреЗрд▓, рдЖрджрд┐ред рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рддреИрдпрд╛рд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕рд╛рдорд╛рдиреНрдп рддрд░реНрдХ рд╣реИрдВ: рдЕрддрд┐рд░рд┐рдХреНрдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛, рдЕрддрд┐рд░рд┐рдХреНрдд рдлрд╝рд╛рдЗрд▓ рдЖрдХрд╛рд░, рд╡реНрдпрд╡рд╣рд╛рд░, рдмрдЧ рдЖрджрд┐ рд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрддреБрд╖реНрдЯ рдирд╣реАрдВред рдЗрд╕рд▓рд┐рдП, рдХреБрдЫ рдмрд┐рдВрджреБ рдкрд░ рдореИрдВрдиреЗ рддреИрдпрд╛рд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдФрд░ рдЗрд╕реЗ рдХрдХреНрд╖рд╛рдУрдВ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рд╕реЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдмрд╛рдЗрдХ рдХреЗ рд╕рд╛рде рдмрджрд▓ рджрд┐рдпрд╛ + рдлрд╝реЙрдиреНрдЯред
Ttf рдлрд╝реЙрдиреНрдЯ рд╕реЗ рдЖрдЗрдХрди рдХрд╛ рдЙрдкрдпреЛрдЧ xaml рдореЗрдВ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (iOS):
<Label Text="" FontFamily="MaterialIcons-Regular"/>
C # рдореЗрдВ:
var label = new Label { Text ="\ue5d2", FontFamily = "MaterialIcons-Regular" };
рдореИрдВ рдЖрдиреЗ рд╡рд╛рд▓реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реВрдВрдЧрд╛ред
1. XAML рдФрд░ C # ("& # xe5d2;" / "\ ue5d2") рдореЗрдВ рдЖрдЗрдХрди рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рдкреНрд░рд╛рд░реВрдк
2. рдЖрдЗрдХрди рдХреЛрдб рдЖрдЗрдХрди рдХреЗ рд╕рд╛рде рд╣реА рдЬреБрдбрд╝рд╛ рдирд╣реАрдВ рд╣реИ, рдореИрдВ "arrow_back" рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛, рдЬреИрд╕рд╛ рдХрд┐ iconize рдореЗрдВ рд╣реИ
3. рдпрджрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдПрдВрдбреНрд░реЙрдЗрдб рдФрд░ рдЖрдИрдУрдПрд╕ рдкрд░ рдЪрд▓реЗрдЧрд╛, рддреЛ рдЖрдкрдХреЛ рдлрд╝реЙрдиреНрдЯ рдХрд╛ рдирд╛рдо рдЕрд▓рдЧ-рдЕрд▓рдЧ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ - Android рдореЗрдВ "MaterialIcons-Regular.ttf # MaterialIcons-Regular" рдФрд░ iOS рдореЗрдВ "MaterialIcons-Regular"ред
рдпрд╣рд╛рдБ рд╡рд░реНрдгрд┐рдд рд╕рдорд╛рдзрд╛рди рдХреЛ рд▓реЗрдмрд▓ рдирд┐рдпрдВрддреНрд░рдг рдкрд░ TextChanged рдШрдЯрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕реВрдЪреА рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:
4. рд▓реЗрдмрд▓ рдирд┐рдпрдВрддреНрд░рдг рдореЗрдВ TextChanged рдЗрд╡реЗрдВрдЯ рдирд╣реАрдВ рд╣реИред рд╣рдореЗрдВ рд▓реЗрдмрд▓ рдкрд╛рда рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдФрд░ xaml рдореЗрдВ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рдирд┐рд░реНрдгрдп
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдлрд╝реЙрдиреНрдЯ Google рд╕рд╛рдордЧреНрд░реА рдЖрдЗрдХрди рд▓реЗрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЗрд╕реЗ Android рдФрд░ iOS рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред
рдпрд╣рд╛рдБ рдлрд╝реЙрдиреНрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВрдкреНрд░рддреАрдХ рдпрд╣рд╛рдВ рдЦреЛрдЬрддреЗ рд╣реИрдВрдлрд╝реЙрдиреНрдЯ рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ - MaterialIcons-Regular.ttfред
рдПрдВрдбреНрд░реЙрдпрдб:
Assets рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ MaterialIcons-Regular.ttf рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП "рдмрд┐рд▓реНрдб рдПрдХреНрд╢рди" AndroidAsset рдЪреБрдиреЗрдВред
iOS:
рд╕рдВрд╕рд╛рдзрди \ рдлрд╝реЙрдиреНрдЯреНрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ MaterialIcons-Regular.ttf рдЬреЛрдбрд╝реЗрдВ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП "рдмрд┐рд▓реНрдб рдПрдХреНрд╢рди" рдмрдВрдбрд▓ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред рдлрд┐рд░ info.plist рдореЗрдВ рдлрд╝реЙрдиреНрдЯ рд▓рд┐рдЦреЗрдВ:
<key>UIAppFonts</key> <array> <string>Fonts/MaterialIcons-Regular.ttf</string> </array>
рдЕрдм рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдо рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдПрдХ рдмрд╛рдПрдВ рддреАрд░ рдХрд╛ рдЪрд┐рд╣реНрди рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╣рдо рдЖрдЗрдХрди рдЦреЛрдЬ рдЗрдВрдЬрди рдХреЗ рд╕рд╛рде рдкреГрд╖реНрда рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ:
https://material.io/resources/icons/ , рдКрдкрд░реА рдмрд╛рдПрдВ рдХреЛрдиреЗ рдореЗрдВ "рддреАрд░" рджрд░реНрдЬ
рдХрд░реЗрдВ , рдкрд░рд┐рдгрд╛рдореЛрдВ рдореЗрдВ рдмрд╛рдПрдВ рддреАрд░ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред рдЕрдм рдЖрдЗрдХрди рдХреЛрдб рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП "рдЪрдпрдирд┐рдд рдЖрдЗрдХрди" рдкреИрдирд▓ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ ... рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╣рд╛рдВ рдирд╣реАрдВ рд╣реИ:
Usage: <i class="material-icons"> arrow_back </i> <i class="material-icons"> arrow_back </i>
рд╣рд╛рдВ, рдФрд░ рд╣рд░ рдмрд╛рд░ рдХреЛрдб рдореЗрдВ рдирд╛рдореЛрдВ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░рдирд╛ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдлрд┐рд░ рдпрд╣ рдкрддрд╛ рдХрд░реЗрдВ рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛрдб рдореЗрдВ рдЖрдЗрдХрди рдХреНрдпрд╛ рд╣реИред рдЖрдЗрдХрди рдХреЗ рдЕрдиреБрдХреВрд▓ рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛ - "arrow_back" рдЗрд╕ рддрд░рд╣:
<Label Text="arrow_back">
рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП, рд╣рдо рддрдерд╛рдХрдерд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рд░реВрд╕реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ "Xamarin.Forms рдШрдЯрдирд╛рдХреНрд░рдо рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдВ" (
https://docs.microsoft.com/ru-ru/xamarin/xamarin-forms/app-freeamentals/behaviors/ ) рдкрд░ рдХрд░реЗрдВрдЧреЗред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, GoogleMaterialFontBehavior рд╡рд░реНрдЧ рдмрдирд╛рдПрдВ:
public class GoogleMaterialFontBehavior: BehaviorBase<CustomLabel> { }
рд╣рдорд╛рд░рд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рд▓реЗрдмрд▓ рдкрд╛рда рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рд▓реЗрдмрд▓ рдХреЛ рднреА рдЕрдВрддрд┐рдо рд░реВрдк рджреЗрдирд╛ рд╣реЛрдЧрд╛:
using System; using Xamarin.Forms; namespace MyApp.UserControls { public class CustomLabel : Label { public event EventHandler<EventArgs> TextChanged; public static readonly new BindableProperty TextProperty = BindableProperty.Create( propertyName: nameof(Text), returnType: typeof(string), declaringType: typeof(CustomLabel), defaultValue: "", defaultBindingMode: BindingMode.OneWay, propertyChanged: TextChangedHandler); public new string Text { get => (string)GetValue(TextProperty); set { base.Text = value; SetValue(TextProperty, value); } } private static void TextChangedHandler(BindableObject bindable, object oldValue, object newValue) { var control = bindable as CustomLabel; control.TextChanged?.Invoke(control, new EventArgs()); } } }
GoogleMaterialFontBehavior рд╡рд░реНрдЧ рдореЗрдВ, рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
- OnAttachedTo / OnDetachingFrom рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░реЗрдВ
- рдкрд╛рда рдкрд░рд┐рд╡рд░реНрддрди рд╣реИрдВрдбрд▓рд░ рдЬреЛрдбрд╝реЗрдВ: HandleTextChanged
- рдлрд╝реЙрдиреНрдЯ рдирд╛рдо рдлрд╝реЙрдиреНрдЯ рдЬреЛрдбрд╝реЗрдВ
- рдФрд░ рдЪрд░рд┐рддреНрд░ рдХреЛрдб iconCodeDict рдХреА рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рднреА рдЬреЛрдбрд╝реЗрдВ
namespace MyApp.Behaviors { public class GoogleMaterialFontBehavior: BehaviorBase<CustomLabel> { protected override void OnAttachedTo(CustomLabel bindable) { HandleTextChanged(bindable, null); bindable.TextChanged += HandleTextChanged; base.OnAttachedTo(bindable); } protected override void OnDetachingFrom(CustomLabel bindable) { bindable.TextChanged -= HandleTextChanged; base.OnDetachingFrom(bindable); } private void HandleTextChanged(object sender, EventArgs e) { var label = (CustomLabel)sender; if (label?.Text?.Length >= 2 && iconCodeDict.TryGetValue(label.Text, out var icon)) { label.FontFamily = fontFamily; label.Text = icon.ToString(); } }
рдФрд░ рдЕрдм iconCodeDict рд╕рдВрджрд░реНрдн рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реАред рдЗрд╕рдореЗрдВ рдлрд╝реЙрдиреНрдЯ рд╡рд░реНрдгреЛрдВ рдХреЗ рд▓рд┐рдП рдирд╛рдо-рдХреЛрдб рдЬреЛрдбрд╝реЗ рд╣реЛрдВрдЧреЗред Google рд╕рд╛рдордЧреНрд░реА рдЖрдЗрдХрди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдбреЗрдЯрд╛ рдПрдХ рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ git рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИ:
github.com/google/material-design-icons/blob/master/iconfont/codepointрдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
XAML:
рдкреГрд╖реНрда рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ 2 рдирд╛рдорд╕реНрдерд╛рди рдЬреЛрдбрд╝реЗрдВ:
xmlns:uc="clr-namespace:MyApp.UserControls" xmlns:b="clr-namespace:MyApp.Behaviors"
рдФрд░ рдЖрдЗрдХрди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ:
<uc:CustomLabel Text="arrow_back" FontSize="30"> <Label.Behaviors> <b:GoogleMaterialFontBehavior /> </Label.Behaviors> </uc:CustomLabel>
C #:
var label = new CustomLabel(); label.Behaviors.Add (new GoogleMaterialFontBehavior()); label.Text = "arrow_back";
рдЗрд╕рдХреЗ рд╕рд╛рде рд╣реА
рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдлреЙрдиреНрдЯ рдЬреИрдо рдЖрдЗрдХрди рднреА рдкрд╕рдВрдж рд╣реИрдВред GoogleMaterialFontBehavior рдХреЗ рд╕рдорд╛рди, рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ JamFontBehavior рдХреНрд▓рд╛рд╕ рдмрдирд╛рдПрдВред рдЗрд╕рдореЗрдВ рдЕрдиреНрдп рд▓реЛрдЧ рд╣реЛрдВрдЧреЗ: fontFamily рдФрд░ iconCodeDictред
рдпрд╣рд╛рдБ рдлрд╝реЙрдиреНрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ:
https://github.com/michaelampr/jam/blob/master/fonts/jam-icons.ttfрдпрд╣рд╛рдБ рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХ:
https://jam-icons.com/рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЦреЛрдЬ рдЗрдВрдЬрдиред рдЖрдЗрдХрди рдвреВрдВрдвреЗрдВ, рдЙрд╕ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рдирд╛рдоред рдпрд╣ рдХреЗрд╡рд▓ рдЗрд╕реЗ рдХреЛрдб рдореЗрдВ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╣рддрд╛ рд╣реИред
рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЧреВрдЧрд▓ рдЖрдЗрдХрди рдХреЗ рд╕рдорд╛рди рд╣реИ, рдЖрдЗрдХрди рдХреЛрдб рдХреЛ рдЫреЛрдбрд╝рдХрд░ред
рдХреЛрдб
рдЙрд╕реА рд╕реНрдерд╛рди рдкрд░ рд╕реНрдерд┐рдд svg рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд▓рд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЙрджрд╛рддреНрдд рдЬреИрд╕реЗ рдкрд╛рда рд╕рдВрдкрд╛рджрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдбреЗрдЯрд╛ рдЖрд╕рд╛рдиреА рд╕реЗ рдирд┐рдХрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓рд╛рдЗрди "рдбреЗрдЯрд╛-рдЯреИрдЧ" рдЪреБрдиреЗрдВ, Alt + F3 рджрдмрд╛рдПрдВ, рдмрд╣реБ-рдХрд░реНрд╕рд░ рдЪрд╛рд▓реВ рд╣реИред рдЕрдЧрд▓реА рд╢рд┐рдлреНрдЯ + рд╣реЛрдо, ctrl + c, ctrl + a, ctrl + vред рдФрд░ рдЗрд╕реА рддрд░рд╣ред рдпрд╣ рдПрдХреНрд╕реЗрд▓ рдХреА рдорджрдж рд╕реЗ рд╕рдВрднрд╡ рд╣реИ, рдХрд┐рд╕рд╕реЗ рдЕрдзрд┐рдХ рдкрд░рд┐рдЪрд┐рдд рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмрд╛рдПрдВ рддреАрд░ svg рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
<glyph unicode="" glyph-name="arrow-left" data-tags="arrow-left" d="M358.997 398.635l168.533-168.533c7.15-7.611 11.543-17.885 11.543-29.185 0-23.564-19.103-42.667-42.667-42.667-11.311 0-21.594 4.401-29.229 11.585l0.022-0.020-241.365 241.323c-7.749 7.706-12.545 18.376-12.545 30.165s4.796 22.459 12.544 30.163l241.367 241.367c7.769 8.036 18.647 13.026 30.69 13.026 23.564 0 42.667-19.103 42.667-42.667 0-12.043-4.989-22.92-13.014-30.678l-168.545-168.545h409.003c23.564 0 42.667-19.103 42.667-42.667s-19.103-42.667-42.667-42.667v0h-409.003z" />
рдкрд╛рда рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдЧреНрд▓рд┐рдлрд╝-рдирд╛рдо рдФрд░ рдпреВрдирд┐рдХреЛрдб рдлрд╝реАрд▓реНрдб рдХреА рд╕рд╛рдордЧреНрд░реА рдорд┐рд▓рддреА рд╣реИ:
{"arrow-left", '\ue92b'}
рдФрд░ рд╢рдмреНрджрдХреЛрд╢ рдореЗрдВ рдЖрдЗрдХрдирдХреЛрдб рдЬреЛрдбрд╝реЗрдВ