# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "pdf-xfa"
version = "1.0.0-beta.17"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "XFA engine — extraction, layout rendering, font resolution. Experimental and under active development."
homepage = "https://pdfluent.com"
documentation = "https://pdfluent.com/docs"
readme = "README.md"
keywords = [
    "pdf",
    "xfa",
    "forms",
    "adobe",
]
categories = ["rendering"]
license-file = "LICENSE"
repository = "https://pdfluent.com/source"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
    "--cfg",
    "docsrs",
]

[features]
default = []
xfa-js-sandboxed = ["dep:rquickjs"]

[lib]
name = "pdf_xfa"
path = "src/lib.rs"

[[example]]
name = "dump_xfa_packets"
path = "examples/dump_xfa_packets.rs"

[[example]]
name = "flatten_pdf"
path = "examples/flatten_pdf.rs"

[[example]]
name = "flatten_xfa"
path = "examples/flatten_xfa.rs"

[[example]]
name = "xfa_session_dump"
path = "examples/xfa_session_dump.rs"

[[example]]
name = "xfa_session_sweep"
path = "examples/xfa_session_sweep.rs"

[[test]]
name = "checkbox_appearance"
path = "tests/checkbox_appearance.rs"

[[test]]
name = "d11_rendering_policy_api"
path = "tests/d11_rendering_policy_api.rs"

[[test]]
name = "d12_fresh_merge_policy"
path = "tests/d12_fresh_merge_policy.rs"

[[test]]
name = "d14_policy_guard"
path = "tests/d14_policy_guard.rs"

[[test]]
name = "d3_script_object_registry_trace"
path = "tests/d3_script_object_registry_trace.rs"

[[test]]
name = "d4_minimal_som_resolution"
path = "tests/d4_minimal_som_resolution.rs"

[[test]]
name = "d5_occur_resolution_capture"
path = "tests/d5_occur_resolution_capture.rs"

[[test]]
name = "d6_occur_layout_application"
path = "tests/d6_occur_layout_application.rs"

[[test]]
name = "d7_presence_visibility_retry"
path = "tests/d7_presence_visibility_retry.rs"

[[test]]
name = "data_binding_longtail_residual"
path = "tests/data_binding_longtail_residual.rs"

[[test]]
name = "differences_encoding"
path = "tests/differences_encoding.rs"

[[test]]
name = "embedded_font_width_coverage"
path = "tests/embedded_font_width_coverage.rs"

[[test]]
name = "first_char_offset"
path = "tests/first_char_offset.rs"

[[test]]
name = "flatten_trace_tests"
path = "tests/flatten_trace_tests.rs"

[[test]]
name = "font_resolution_tests"
path = "tests/font_resolution_tests.rs"

[[test]]
name = "inst_mgr_real_mutations"
path = "tests/inst_mgr_real_mutations.rs"

[[test]]
name = "longform_qf1a_acroform_only_fastpath"
path = "tests/longform_qf1a_acroform_only_fastpath.rs"

[[test]]
name = "m3b_phaseC_bindings"
path = "tests/m3b_phaseC_bindings.rs"

[[test]]
name = "m3b_phaseD_beta_listbox"
path = "tests/m3b_phaseD_beta_listbox.rs"

[[test]]
name = "m3b_phaseD_gamma_data_dom"
path = "tests/m3b_phaseD_gamma_data_dom.rs"

[[test]]
name = "m3b_phaseD_instance_manager"
path = "tests/m3b_phaseD_instance_manager.rs"

[[test]]
name = "m3b_phaseD_kappa_page_drop"
path = "tests/m3b_phaseD_kappa_page_drop.rs"

[[test]]
name = "m3b_phaseD_layout2_pagearea_general"
path = "tests/m3b_phaseD_layout2_pagearea_general.rs"

[[test]]
name = "m3b_phaseD_pre_implicit_idents"
path = "tests/m3b_phaseD_pre_implicit_idents.rs"

[[test]]
name = "m3b_phaseD_theta2_full_chain"
path = "tests/m3b_phaseD_theta2_full_chain.rs"

[[test]]
name = "m3b_phaseE_data2_02"
path = "tests/m3b_phaseE_data2_02.rs"

[[test]]
name = "m3b_phaseE_host_stubs"
path = "tests/m3b_phaseE_host_stubs.rs"

[[test]]
name = "m3b_phaseE_js2_01"
path = "tests/m3b_phaseE_js2_01.rs"

[[test]]
name = "m3b_phaseE_sandbox_forbidden_globals"
path = "tests/m3b_phaseE_sandbox_forbidden_globals.rs"

[[test]]
name = "m3b_phaseF_resource_limits"
path = "tests/m3b_phaseF_resource_limits.rs"

[[test]]
name = "m3b_phaseG_sandbox_adversarial_w2e"
path = "tests/m3b_phaseG_sandbox_adversarial_w2e.rs"

[[test]]
name = "m3b_phaseG_sandbox_redos_w3a"
path = "tests/m3b_phaseG_sandbox_redos_w3a.rs"

[[test]]
name = "m3b_phaseH_walltime_fallback_qf1e"
path = "tests/m3b_phaseH_walltime_fallback_qf1e.rs"

[[test]]
name = "m3b_phasePQ_event_policy_closure_w3b"
path = "tests/m3b_phasePQ_event_policy_closure_w3b.rs"

[[test]]
name = "m3b_phasePQ_event_semantics"
path = "tests/m3b_phasePQ_event_semantics.rs"

[[test]]
name = "m3b_phasePQ_host_object_semantics"
path = "tests/m3b_phasePQ_host_object_semantics.rs"

[[test]]
name = "m3b_phasePQ_presave_gated_w3repair_d1b"
path = "tests/m3b_phasePQ_presave_gated_w3repair_d1b.rs"

[[test]]
name = "m3b_runtime_skeleton"
path = "tests/m3b_runtime_skeleton.rs"

[[test]]
name = "m3c_binding_completeness"
path = "tests/m3c_binding_completeness.rs"

[[test]]
name = "qf2f_target_doc_guards"
path = "tests/qf2f_target_doc_guards.rs"

[[test]]
name = "qf5d_target_doc_guards"
path = "tests/qf5d_target_doc_guards.rs"

[[test]]
name = "script_execution_order_w2b"
path = "tests/script_execution_order_w2b.rs"

[[test]]
name = "script_execution_order_w3d_data_items"
path = "tests/script_execution_order_w3d_data_items.rs"

[[test]]
name = "session_fill"
path = "tests/session_fill.rs"

[[test]]
name = "suppression_trust_layout_tests"
path = "tests/suppression_trust_layout_tests.rs"

[[test]]
name = "xfa_edge_cases"
path = "tests/xfa_edge_cases.rs"

[[test]]
name = "xfa_stress_tests"
path = "tests/xfa_stress_tests.rs"

[dependencies.base64]
version = "0.22"

[dependencies.flate2]
version = "1"

[dependencies.formcalc-interpreter]
version = "=1.0.0-beta.17"

[dependencies.image]
version = "0.25"

[dependencies.log]
version = "0.4"

[dependencies.lopdf]
version = "=0.39.4"
package = "pdfluent-lopdf"

[dependencies.pdf-font]
version = "=1.0.0-beta.5"

[dependencies.pdf-interpret]
version = "=0.5.7"

[dependencies.pdf-syntax]
version = "=0.5.6"

[dependencies.roxmltree]
version = "0.20"

[dependencies.rquickjs]
version = "=0.8.1"
optional = true
default-features = false

[dependencies.thiserror]
version = "2"

[dependencies.ttf-parser]
version = "0.25"

[dependencies.xfa-dom-resolver]
version = "=1.0.0-beta.17"

[dependencies.xfa-json]
version = "=1.0.0-beta.17"

[dependencies.xfa-layout-engine]
version = "=1.0.0-beta.17"
