// Copyright 2014-2021 The Khronos Group Inc.
//
// SPDX-License-Identifier: CC-BY-4.0

= Diagrams

Diagrams in this folder have been created with Inkscape, using a restricted
color palette (white, black, 50% gray and pure red), one choice of dotted
vs. solid lines, and only two text sizes (10 and 12) using the generic
"sans serif" font family.

Size 10 fonts should only be used for incidental text for labelling in the
middle of the diagram as an identifying mark (e.g. an example sample point);
prefer size 12 fonts wherever possible.
Smaller sizes are unreadable at default zoom, and larger sizes stick out and
are jarring within the context of the specification.

All diagrams are sized 1:1 so that no additional rescaling is required in
the Specification, which would affect the font sizes.

If adding any new diagrams, please try to maintain consistency with the rest
of these diagrams in order to aid consistency and readability of the Vulkan
specification.
Inkscape does not need to be used, but is recommended as a powerful free
tool for generating vector diagrams, and is known to generate diagrams
compatible with the rest of the Vulkan toolchain.
If using other tools, please ensure that the diagram renders correctly in
popular browsers and in the PDF generation path for the specification.



== UTF-8 Characters

At the moment, the PDF conversion path only supports the Windows-1252
character set, as we are currently using the standard fonts built into every
PDF viewer - such that we do not have to embed a different font.
Unfortunately these only support Windows-1252, which is a highly limited
character set.

As such, characters not in that set will not display properly when present
in an SVG, and will fire a warning when building the PDF.
Luckily, Inkscape has an "Object to path" function built in, which will
convert text to a raw path, allowing these characters to be supported.

Please ensure that you build the PDF before submitting any new images,
particularly with non-standard characters, in order to catch such errors.
