// Copyright (c) 2015-2026 The Khronos Group Inc.
//
// SPDX-License-Identifier: CC-BY-4.0

// Various special / math symbols, matching LaTeX names.
// The pass:[+ ] notation avoids asciidoctor EOL treatment of the attribute.

// Special symbols - not used in [eq] spans
:sym1: ✓
:sym2: †
:reg: ®
:trade: ™

// Math operators and logic symbols
:times: ×
:cdot: ⋅
:plus: pass:[+ ]
:geq: ≥
:leq: ≤
:neq: ≠
:leftarrow: ←
:uparrow: ↑
:rightarrow: →
:downarrow: ↓
:elem: ∈
:lnot: ¬
:land: ∧
:lor: ∨
:oplus: ⊕
:lceil: ⌈
:rceil: ⌉
:lfloor: ⌊
:rfloor: ⌋
:vert: |
:partial: ∂
:onehalf: ½
:onequarter: ¼
:threequarters: ¾
:ldots: …
:forall: ∀
:sqrt: √
:inf: ∞
:plusmn: ±

// Greek letters
:alpha: α
:beta: β
:gamma: γ
:DeltaUpper: Δ
:delta: δ
:epsilon: ε
:eta: η
:theta: θ
:lambda: λ
:pi: π
:rho: ρ
:sigma: σ
:tau: τ
:phi: ϕ

// Word break opportunity tag for HTML
ifdef::backend-html5[]
:wbro: pass:[<wbr>]
endif::backend-html5[]
ifndef::backend-html5[]
:wbro:
endif::backend-html5[]

// Placeholders for synchronization block text
:externsynctitle: Thread Safety
:externsyncprefix: Access to

// next chain link to avoid broken links in ref pages
// This section is not in a ref page so cross-file-links is not the right attribute to check.
ifdef::doctype-manpage[]
:uri-next-chain: {html_spec_relative}#valid-usage-for-structure-pointer-chains
endif::doctype-manpage[]
ifndef::doctype-manpage[]
:uri-next-chain: #valid-usage-for-structure-pointer-chains
endif::doctype-manpage[]

// Attributes for linking
ifdef::doctype-manpage[]
:view_space: xref:XrReferenceSpaceType.adoc#XR_REFERENCE_SPACE_TYPE_VIEW[code:VIEW space]
:local_space: xref:XrReferenceSpaceType.adoc#XR_REFERENCE_SPACE_TYPE_LOCAL[code:LOCAL space]
:stage_space: xref:XrReferenceSpaceType.adoc#XR_REFERENCE_SPACE_TYPE_STAGE[code:STAGE space]
:local_floor_space: link:XR_REFERENCE_SPACE_TYPE_LOCAL_FLOOR.html[code:LOCAL_FLOOR space]
endif::doctype-manpage[]
ifndef::doctype-manpage[]
:view_space: <<XR_REFERENCE_SPACE_TYPE_VIEW,code:VIEW space>>
:local_space: <<XR_REFERENCE_SPACE_TYPE_LOCAL,code:LOCAL space>>
:stage_space: <<XR_REFERENCE_SPACE_TYPE_STAGE,code:STAGE space>>
:local_floor_space: <<XR_REFERENCE_SPACE_TYPE_LOCAL_FLOOR,code:LOCAL_FLOOR space>>
endif::doctype-manpage[]

// Use higher-resolution source images in PDF
ifdef::backend-pdf[]
:imagevariant: /hires
endif::backend-pdf[]
ifndef::backend-pdf[]
:imagevariant:
endif::backend-pdf[]

// URIs used in the spec:
// If it's in the main spec and extracted to the ref pages, put it here.

// OpenXR URIs
:uri-openxr-registry-root: https://registry.khronos.org/OpenXR
:uri-openxr-ratified-spec: {uri-openxr-registry-root}/specs/1.1-khr/html/xrspec.html
:uri-github-openxr-docs: https://github.com/KhronosGroup/OpenXR-Docs

// glTF URIs
:uri-gltf2: https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html
:uri-gltf2-basisu: https://github.com/KhronosGroup/glTF/tree/main/extensions/2.0/Khronos/KHR_texture_basisu
:uri-gltf2-glb: https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#glb-file-format-specification
:uri-gltf-validator: https://github.com/KhronosGroup/glTF-Validator

// Vulkan URIs
:uri-vk-ref-page-root: https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html
:uri-vkCreateInstance: {uri-vk-ref-page-root}/vkCreateInstance.html
:uri-VkInstanceCreateInfo: {uri-vk-ref-page-root}/VkInstanceCreateInfo.html
:uri-VkAllocationCallbacks: {uri-vk-ref-page-root}/VkAllocationCallbacks.html
:uri-vkCreateDevice: {uri-vk-ref-page-root}/vkCreateDevice.html
:uri-VkDeviceCreateInfo: {uri-vk-ref-page-root}/VkDeviceCreateInfo.html
:uri-VkAllocationCallbacks: {uri-vk-ref-page-root}/VkAllocationCallbacks.html

// Other URIs
:uri-iso-iec-18004-2015: https://www.iso.org/standard/62021.html
