注意 当サイトは、Typst v0.12.0 公式ドキュメントを、日本語コミュニティが非公式に翻訳したものです。誤訳・未訳・古い情報が含まれている可能性があるため、公式ドキュメント との併用を推奨します。このサイトの内容に誤りを発見された方は、GitHubリポジトリまでご報告を頂けましたら幸いです。我々のコミュニティにご興味のある方は、ぜひ非公式Discordサーバー「くみはんクラブ」にご参加ください。
Warning: This site provides an unofficial translation of the Typst v0.12.0 documentation by the Japanese Community. Please note that there may be some inaccuracies, untranslated sections or outdated information. We highly recommend referring to the latest official documentation as well. If you find any errors in the content, please let us know through our GitHub repository. If you are interested in our community, feel free to join our unofficial Discord server, “Kumihan Club.”
Typst ドキュメント日本語版

text Element
Element functions can be customized with set and show rules.

Customizes the look and layout of text in a variety of ways.

This function is used frequently, both with set rules and directly. While the set rule is often the simpler choice, calling the text function directly can be useful when passing text as an argument to another function.

Example

#set text(18pt)
With a set rule.

#emph(text(blue)[
  With a function call.
])
Preview

Parameters
Parameters are the inputs to a function. They are specified in parentheses after the function name.

font
str array
Settable
Settable parameters can be customized for all following uses of the function with a set rule.

A font family name or priority list of font family names.

When processing text, Typst tries all specified font families in order until it finds a font that has the necessary glyphs. In the example below, the font Inria Serif is preferred, but since it does not contain Arabic glyphs, the arabic text uses Noto Sans Arabic instead.

The collection of available fonts differs by platform:

Default:"libertinus serif"

View example
#set text(font: "PT Sans")
This is sans-serif.

#set text(font: (
  "Inria Serif",
  "Noto Sans Arabic",
))

This is Latin. \
هذا عربي.
Preview

fallback
bool
Settable
Settable parameters can be customized for all following uses of the function with a set rule.

Whether to allow last resort font fallback when the primary font list contains no match. This lets Typst search through all available fonts for the most similar one that has the necessary glyphs.

Note: Currently, there are no warnings when fallback is disabled and no glyphs are found. Instead, your text shows up in the form of "tofus": Small boxes that indicate the lack of an appropriate glyph. In the future, you will be able to instruct Typst to issue warnings so you know something is up.

Default:true

View example
#set text(font: "Inria Serif")
هذا عربي

#set text(fallback: false)
هذا عربي
Preview

style
str
Settable
Settable parameters can be customized for all following uses of the function with a set rule.

The desired font style.

When an italic style is requested and only an oblique one is available, it is used. Similarly, the other way around, an italic style can stand in for an oblique one. When neither an italic nor an oblique style is available, Typst selects the normal style. Since most fonts are only available either in an italic or oblique style, the difference between italic and oblique style is rarely observable.

If you want to emphasize your text, you should do so using the emph function instead. This makes it easy to adapt the style later if you change your mind about how to signify the emphasis.

Default:"normal"

View example
#text(font: "Libertinus Serif", style: "italic")[Italic]
#text(font: "DejaVu Sans", style: "oblique")[Oblique]
Preview

weight
int str
Settable
Settable parameters can be customized for all following uses of the function with a set rule.

The desired thickness of the font's glyphs. Accepts an integer between 100 and 900 or one of the predefined weight names. When the desired weight is not available, Typst selects the font from the family that is closest in weight.

If you want to strongly emphasize your text, you should do so using the strong function instead. This makes it easy to adapt the style later if you change your mind about how to signify the strong emphasis.

Default:"regular"

View example
#set text(font: "IBM Plex Sans")

#text(weight: "light")[Light] \
#text(weight: "regular")[Regular] \
#text(weight: "medium")[Medium] \
#text(weight: 500)[Medium] \
#text(weight: "bold")[Bold]
Preview

stretch
ratio
Settable
Settable parameters can be customized for all following uses of the function with a set rule.

The desired width of the glyphs. Accepts a ratio between 50% and 200%. When the desired width is not available, Typst selects the font from the family that is closest in stretch. This will only stretch the text if a condensed or expanded version of the font is available.

If you want to adjust the amount of space between characters instead of stretching the glyphs itself, use the tracking property instead.

Default:100%

View example
#text(stretch: 75%)[Condensed] \
#text(stretch: 100%)[Normal]
Preview

size
length
Settable
Settable parameters can be customized for all following uses of the function with a set rule.

The size of the glyphs. This value forms the basis of the em unit: 1em is equivalent to the font size.

You can also give the font size itself in em units. Then, it is relative to the previous font size.

Default:11pt

View example
#set text(size: 20pt)
very #text(1.5em)[big] text
Preview

fill
color gradient pattern
Settable
Settable parameters can be customized for all following uses of the function with a set rule.

The glyph fill paint.

Default:luma(0%)

View example
#set text(fill: red)
This text is red.
Preview

stroke
none length color gradient stroke pattern dictionary
Settable
Settable parameters can be customized for all following uses of the function with a set rule.

How to stroke the text.

Default:none

View example
#text(stroke: 0.5pt + red)[Stroked]
Preview

tracking
length
Settable
Settable parameters can be customized for all following uses of the function with a set rule.

The amount of space that should be added between characters.

Default:0pt

View example
#set text(tracking: 1.5pt)
Distant text.
Preview

spacing
relative
Settable
Settable parameters can be customized for all following uses of the function with a set rule.

The amount of space between words.

Can be given as an absolute length, but also relative to the width of the space character in the font.

If you want to adjust the amount of space between characters rather than words, use the tracking property instead.

Default:100% + 0pt

View example
#set text(spacing: 200%)
Text with distant words.
Preview

cjk-latin-spacing
none auto
Settable
Settable parameters can be customized for all following uses of the function with a set rule.

Whether to automatically insert spacing between CJK and Latin characters.

Default:auto

View example
#set text(cjk-latin-spacing: auto)
第4章介绍了基本的API。

#set text(cjk-latin-spacing: none)
第4章介绍了基本的API。
Preview

baseline
length
Settable
Settable parameters can be customized for all following uses of the function with a set rule.

An amount to shift the text baseline by.

Default:0pt

View example
A #text(baseline: 3pt)[lowered]
word.
Preview

overhang
bool
Settable
Settable parameters can be customized for all following uses of the function with a set rule.

Whether certain glyphs can hang over into the margin in justified text. This can make justification visually more pleasing.

Default:true

View example
#set par(justify: true)
This justified text has a hyphen in
the paragraph's first line. Hanging
the hyphen slightly into the margin
results in a clearer paragraph edge.

#set text(overhang: false)
This justified text has a hyphen in
the paragraph's first line. Hanging
the hyphen slightly into the margin
results in a clearer paragraph edge.
Preview

top-edge
length str
Settable
Settable parameters can be customized for all following uses of the function with a set rule.

The top end of the conceptual frame around the text used for layout and positioning. This affects the size of containers that hold text.

Default:"cap-height"

View example
#set rect(inset: 0pt)
#set text(size: 20pt)

#set text(top-edge: "ascender")
#rect(fill: aqua)[Typst]

#set text(top-edge: "cap-height")
#rect(fill: aqua)[Typst]
Preview

bottom-edge
length str
Settable
Settable parameters can be customized for all following uses of the function with a set rule.

The bottom end of the conceptual frame around the text used for layout and positioning. This affects the size of containers that hold text.

Default:"baseline"

View example
#set rect(inset: 0pt)
#set text(size: 20pt)

#set text(bottom-edge: "baseline")
#rect(fill: aqua)[Typst]

#set text(bottom-edge: "descender")
#rect(fill: aqua)[Typst]
Preview

lang
str
Settable
Settable parameters can be customized for all following uses of the function with a set rule.

An ISO 639-1/2/3 language code.

Setting the correct language affects various parts of Typst:

Default:"en"

View example
#set text(lang: "de")
#outline()

= Einleitung
In diesem Dokument, ...
Preview

region
none str
Settable
Settable parameters can be customized for all following uses of the function with a set rule.

An ISO 3166-1 alpha-2 region code.

This lets the text processing pipeline make more informed choices.

Default:none

script
auto str
Settable
Settable parameters can be customized for all following uses of the function with a set rule.

The OpenType writing script.

The combination of lang and script determine how font features, such as glyph substitution, are implemented. Frequently the value is a modified (all-lowercase) ISO 15924 script identifier, and the math writing script is used for features appropriate for mathematical symbols.

When set to auto, the default and recommended setting, an appropriate script is chosen for each block of characters sharing a common Unicode script property.

Default:auto

View example
#set text(
  font: "Libertinus Serif",
  size: 20pt,
)

#let scedilla = [Ş]
#scedilla // S with a cedilla

#set text(lang: "ro", script: "latn")
#scedilla // S with a subscript comma

#set text(lang: "ro", script: "grek")
#scedilla // S with a cedilla
Preview

dir
auto direction
Settable
Settable parameters can be customized for all following uses of the function with a set rule.

The dominant direction for text and inline objects. Possible values are:

When writing in right-to-left scripts like Arabic or Hebrew, you should set the text language or direction. While individual runs of text are automatically layouted in the correct direction, setting the dominant direction gives the bidirectional reordering algorithm the necessary information to correctly place punctuation and inline objects. Furthermore, setting the direction affects the alignment values start and end, which are equivalent to left and right in ltr text and the other way around in rtl text.

If you set this to rtl and experience bugs or in some way bad looking output, please get in touch with us through the Forum, Discord server, or our contact form.

Default:auto

View example
#set text(dir: rtl)
هذا عربي.
Preview

hyphenate
auto bool
Settable
Settable parameters can be customized for all following uses of the function with a set rule.

Whether to hyphenate text to improve line breaking. When auto, text will be hyphenated if and only if justification is enabled.

Setting the text language ensures that the correct hyphenation patterns are used.

Default:auto

View example
#set page(width: 200pt)

#set par(justify: true)
This text illustrates how
enabling hyphenation can
improve justification.

#set text(hyphenate: false)
This text illustrates how
enabling hyphenation can
improve justification.
Preview

costs
dictionary
Settable
Settable parameters can be customized for all following uses of the function with a set rule.

The "cost" of various choices when laying out text. A higher cost means the layout engine will make the choice less often. Costs are specified as a ratio of the default cost, so 50% will make text layout twice as eager to make a given choice, while 200% will make it half as eager.

Currently, the following costs can be customized:

Hyphenation is generally avoided by placing the whole word on the next line, so a higher hyphenation cost can result in awkward justification spacing.

Runts are avoided by placing more or fewer words on previous lines, so a higher runt cost can result in more awkward in justification spacing.

Text layout prevents widows and orphans by default because they are generally discouraged by style guides. However, in some contexts they are allowed because the prevention method, which moves a line to the next page, can result in an uneven number of lines between pages. The widow and orphan costs allow disabling these modifications. (Currently, 0% allows widows/orphans; anything else, including the default of 100%, prevents them. More nuanced cost specification for these modifications is planned for the future.)

Default:( hyphenation: 100%, runt: 100%, widow: 100%, orphan: 100%, )

View example
#set text(hyphenate: true, size: 11.4pt)
#set par(justify: true)

#lorem(10)

// Set hyphenation to ten times the normal cost.
#set text(costs: (hyphenation: 1000%))

#lorem(10)
Preview

kerning
bool
Settable
Settable parameters can be customized for all following uses of the function with a set rule.

Whether to apply kerning.

When enabled, specific letter pairings move closer together or further apart for a more visually pleasing result. The example below demonstrates how decreasing the gap between the "T" and "o" results in a more natural look. Setting this to false disables kerning by turning off the OpenType kern font feature.

Default:true

View example
#set text(size: 25pt)
Totally

#set text(kerning: false)
Totally
Preview

alternates
bool
Settable
Settable parameters can be customized for all following uses of the function with a set rule.

Whether to apply stylistic alternates.

Sometimes fonts contain alternative glyphs for the same codepoint. Setting this to true switches to these by enabling the OpenType salt font feature.

Default:false

View example
#set text(
  font: "IBM Plex Sans",
  size: 20pt,
)

0, a, g, ß

#set text(alternates: true)
0, a, g, ß
Preview

stylistic-set
none int array
Settable
Settable parameters can be customized for all following uses of the function with a set rule.

Which stylistic sets to apply. Font designers can categorize alternative glyphs forms into stylistic sets. As this value is highly font-specific, you need to consult your font to know which sets are available.

This can be set to an integer or an array of integers, all of which must be between 1 and 20, enabling the corresponding OpenType feature(s) from ss01 to ss20. Setting this to none will disable all stylistic sets.

Default:()

View example
#set text(font: "IBM Plex Serif")
ß vs #text(stylistic-set: 5)[ß] \
10 years ago vs #text(stylistic-set: (1, 2, 3))[10 years ago]
Preview

ligatures
bool
Settable
Settable parameters can be customized for all following uses of the function with a set rule.

Whether standard ligatures are active.

Certain letter combinations like "fi" are often displayed as a single merged glyph called a ligature. Setting this to false disables these ligatures by turning off the OpenType liga and clig font features.

Default:true

View example
#set text(size: 20pt)
A fine ligature.

#set text(ligatures: false)
A fine ligature.
Preview

discretionary-ligatures
bool
Settable
Settable parameters can be customized for all following uses of the function with a set rule.

Whether ligatures that should be used sparingly are active. Setting this to true enables the OpenType dlig font feature.

Default:false

historical-ligatures
bool
Settable
Settable parameters can be customized for all following uses of the function with a set rule.

Whether historical ligatures are active. Setting this to true enables the OpenType hlig font feature.

Default:false

number-type
auto str
Settable
Settable parameters can be customized for all following uses of the function with a set rule.

Which kind of numbers / figures to select. When set to auto, the default numbers for the font are used.

Default:auto

View example
#set text(font: "Noto Sans", 20pt)
#set text(number-type: "lining")
Number 9.

#set text(number-type: "old-style")
Number 9.
Preview

number-width
auto str
Settable
Settable parameters can be customized for all following uses of the function with a set rule.

The width of numbers / figures. When set to auto, the default numbers for the font are used.

Default:auto

View example
#set text(font: "Noto Sans", 20pt)
#set text(number-width: "proportional")
A 12 B 34. \
A 56 B 78.

#set text(number-width: "tabular")
A 12 B 34. \
A 56 B 78.
Preview

slashed-zero
bool
Settable
Settable parameters can be customized for all following uses of the function with a set rule.

Whether to have a slash through the zero glyph. Setting this to true enables the OpenType zero font feature.

Default:false

View example
0, #text(slashed-zero: true)[0]
Preview

fractions
bool
Settable
Settable parameters can be customized for all following uses of the function with a set rule.

Whether to turn numbers into fractions. Setting this to true enables the OpenType frac font feature.

It is not advisable to enable this property globally as it will mess with all appearances of numbers after a slash (e.g., in URLs). Instead, enable it locally when you want a fraction.

Default:false

View example
1/2 \
#text(fractions: true)[1/2]
Preview

features
array dictionary
Settable
Settable parameters can be customized for all following uses of the function with a set rule.

Raw OpenType features to apply.

Default:(:)

View example
// Enable the `frac` feature manually.
#set text(features: ("frac",))
1/2
Preview

body
content
RequiredPositional
Positional parameters are specified in order, without names.

Content in which all text is styled according to the other arguments.

text
str
RequiredPositional
Positional parameters are specified in order, without names.

The text.