Cargo Features
[dependencies]
azul-layout = { version = "0.0.7", default-features = false, features = ["std", "strfmt", "widgets", "extra", "text_layout", "text_layout_hyphenation", "pdf", "font_loading", "font_loading_multithreaded", "font_parsing", "image_decoding", "gif", "jpeg", "png", "tiff", "bmp", "ico", "tga", "hdr", "webp", "pnm", "xml", "svg", "cpurender", "a11y", "icu", "icu_chrono", "fluent", "http", "zip_support", "json", "icons"] }
- default = a11y, cpurender, extra, font_loading_multithreaded, icons, image_decoding, std, svg, text_layout, text_layout_hyphenation, widgets
-
Default: Full layout engine with text, fonts, SVG, images, accessibility Uses multithreaded font loading for faster startup on desktop
- std default fluent? http? icons icu? json? strfmt? text_layout zip_support?
-
Standard library support
Affects
file::file_read,file::file_read_string,file::file_write,file::file_write_string,file::file_append,file::file_copy,file::file_rename,file::file_delete,file::path_exists,file::path_is_file,file::path_is_dir,file::file_metadata,file::dir_create,file::dir_create_all,file::dir_delete,file::dir_delete_all,image::decode,image::encode,gesture::allocate_event_id,scroll_state::ScrollInputQueue… - strfmt fluent? widgets = std
-
String formatting utilities (strfmt crate)
Enables strfmt
Affects
azul-layout::fmt… - widgets default = strfmt, text_layout
-
Widget support (button, text_input, checkbox, etc.)
Affects
azul-layout::widgets… - extra default
-
Extra APIs (native dialogs, file operations)
dirs:
Platform-specific user directories (home, config, cache, etc.)
Affects
azul-layout::desktop,azul-layout::extra… - text_layout default pdf? text_layout_hyphenation widgets = font_loading, std
-
Basic text shaping (unicode support, allsorts font parsing)
Requires font_loading for font discovery (FcFontCache)
Does NOT include hyphenation (saves ~25 dependencies)Enables allsorts, tinyvec, unicode-bidi, unicode-normalization, and unicode-segmentation
unicode-bidi:
text3 features
Affects
azul-layout::managers,azul-layout::solver3,azul-layout::callbacks,azul-layout::default_actions,azul-layout::event_determination,azul-layout::font,azul-layout::hit_test,azul-layout::text3,azul-layout::thread,azul-layout::timer,azul-layout::scroll_timer,azul-layout::window,azul-layout::window_state,azul-layout::parse_font_fn,azul-layout::parsed_font_to_font_ref,azul-layout::font_ref_to_parsed_font,solver3::LayoutContext.font_manager,solver3::layout_document,paged_layout::layout_document_paged,paged_layout::layout_document_paged_with_config… - text_layout_hyphenation default = text_layout
-
Automatic hyphenation (adds ~25 deps: bincode, fst, hyphenation_commons, pocket-resources)
Enables hyphenation
- pdf = text_layout
-
PDF text operations (requires text_layout)
Affects
window::LayoutWindow.fragmentation_context… - font_loading font_loading_multithreaded font_parsing? text_layout
-
System font discovery (rust-fontconfig minimal, no parsing)
Enables mmapio, parsing and std of rust-fontconfig ^2.0.0
Affects
font::loading,font_traits::TextLayoutCache… - font_loading_multithreaded default = font_loading
-
Multithreading for font cache building (faster on desktop, not available on WASM)
Enables multithreading of rust-fontconfig ^2.0.0
- font_parsing = font_loading
-
Font introspection (adds allsorts via rust-fontconfig/parsing)
Enables parsing of rust-fontconfig ^2.0.0
- image_decoding default bmp? gif? hdr? ico? jpeg? png? pnm? tga? tiff? webp?
-
Image decoding support (image crate)
Enables image
Affects
azul-layout::image… - gif = image_decoding
-
Individual image format features (require image_decoding)
- jpeg = image_decoding
-
Enables jpeg of image and zune-jpeg ^0.4
Explicit override to disable SIMD features that are broken on some Rust versions See: https://github.com/image-rs/image/issues/2705
Affects
image::encode.encode_jpeg… - png = image_decoding
-
Affects
image::encode.encode_png… - tiff = image_decoding
- bmp = image_decoding
- ico = image_decoding
- tga = image_decoding
- hdr = image_decoding
- webp = image_decoding
- pnm = image_decoding
- xml svg
-
XML parsing support (for SVG and font configs)
Enables roxmltree, xmlparser, and xmlwriter
Affects
extra::styled_dom_from_file,extra::styled_dom_from_str,extra::styled_dom_from_parsed_xml,extra::styled_dom_from_file,extra::styled_dom_from_str,extra::styled_dom_from_parsed_xml,azul-layout::xml,xml::domxml_from_str,xml::parse_xml_string,xml::parse_xml,xml::translate_roxmltree_expandedname,xml::translate_roxmltree_error,xml::DomXmlExt,xml::domxml_from_file… - svg default = xml
-
SVG rendering support (lyon, usvg can convert text to outlines)
Enables geo ^0.31.0, geo-booleanop, gl-context-loader, lyon, resvg ^0.45.0, tiny-skia ^0.11.4, and usvg ^0.45.0
Affects
xml::svg,svg::tessellate_multi_polygon_fill,svg::tessellate_multi_shape_fill,svg::path_contains_point,svg::polygon_contains_point,svg::tessellate_multi_shape_stroke,svg::tessellate_multi_polygon_stroke,svg::tessellate_path_fill,svg::tessellate_path_stroke,svg::tessellate_circle_fill,svg::tessellate_circle_stroke,svg::tessellate_rect_fill,svg::tessellate_rect_stroke,svg::tessellate_styled_node,svg::tessellate_line_stroke,svg::tessellate_cubiccurve_stroke,svg::tessellate_quadraticcurve_stroke… - cpurender default
-
CPU-based rendering (tiny-skia, requires allsorts for text)
Enables allsorts, gl-context-loader, and tiny-skia ^0.11.4
Affects
azul-layout::cpurender… - a11y default
-
Accessibility support (accesskit)
Enables accesskit ^0.21.1
Affects
a11y::A11yManager,window::TextEditType… - icu icu_chrono? = std
-
ICU4X internationalization support (number/date/list formatting, pluralization)
Enables icu, icu_provider_blob, and writeable
icu:
ICU4X dependencies for internationalization
compiled_data is enabled by default to include all locale dataAffects
callbacks::CallbackInfoRefData.icu_localizer,azul-layout::icu,window::LayoutWindow.icu_localizer… - icu_chrono = icu
-
Add chrono support for Date.now() style APIs (optional with ICU)
Enables chrono
Optional: chrono for getting current date/time
- fluent = std, strfmt, zip_support
-
Fluent localization support (Project Fluent FTL files, language packs)
Enables fluent, fluent-syntax, intl-memoizer, and unic-langid
fluent:
Fluent localization (Project Fluent)
Affects
azul-layout::fluent… - http = std
-
HTTP client support for downloading resources
Enables ureq ^2.9
HTTP client for downloading language packs
and url
URL parsing
Affects
http::http_get,http::http_get_with_config,http::download_bytes,http::download_bytes_with_config,http::is_url_reachable,azul-layout::url,azul-layout::http… - zip_support fluent? icons = std
-
ZIP file manipulation (standalone, for C API)
Enables zip ^2.1
ZIP file support for language packs
Affects
icon::register_icons_from_zip,azul-layout::zip,zip::zip_create,zip::zip_create_from_files,zip::zip_extract_all,zip::zip_list_contents… - json = std
-
JSON parsing support
Enables serde_json
JSON parsing
Affects
json::json_parse,json::json_parse_bytes,json::json_stringify,json::json_stringify_pretty,json::serialize_refany_to_json,json::deserialize_refany_from_json,json::refany_serialize_to_json,azul-layout::json… - icons default = std, zip_support
-
Icon provider support (material icons, icon packs from fonts or ZIP files)
Enables material-icons
Material Icons font (embedded TTF, Apache 2.0 licensed)
Affects
icon::register_material_icons,icon::register_embedded_material_icons…