1 /*
2 * Copyright 2019 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17 package androidx.compose.ui.text.samples
18
19 import androidx.annotation.Sampled
20 import androidx.compose.material.Text
21 import androidx.compose.runtime.Composable
22 import androidx.compose.ui.text.TextStyle
23 import androidx.compose.ui.text.font.Font
24 import androidx.compose.ui.text.font.FontFamily
25 import androidx.compose.ui.text.font.FontStyle
26 import androidx.compose.ui.text.font.FontSynthesis
27 import androidx.compose.ui.text.font.FontWeight
28
29 @Sampled
30 @Composable
FontFamilySansSerifSamplenull31 fun FontFamilySansSerifSample() {
32 Text(text = "Demo Text sans-serif", fontFamily = FontFamily.SansSerif)
33 }
34
35 @Sampled
36 @Composable
FontFamilySerifSamplenull37 fun FontFamilySerifSample() {
38 Text(text = "Demo Text serif", fontFamily = FontFamily.Serif)
39 }
40
41 @Sampled
42 @Composable
FontFamilyMonospaceSamplenull43 fun FontFamilyMonospaceSample() {
44 Text(text = "Demo Text monospace", fontFamily = FontFamily.Monospace)
45 }
46
47 @Sampled
48 @Composable
FontFamilyCursiveSamplenull49 fun FontFamilyCursiveSample() {
50 Text(text = "Demo Text cursive", fontFamily = FontFamily.Cursive)
51 }
52
53 @Sampled
54 @Composable
CustomFontFamilySamplenull55 fun CustomFontFamilySample() {
56 val fontFamily =
57 FontFamily(
58 Font(
59 resId = R.font.my_font_400_regular,
60 weight = FontWeight.W400,
61 style = FontStyle.Normal
62 ),
63 Font(
64 resId = R.font.my_font_400_italic,
65 weight = FontWeight.W400,
66 style = FontStyle.Italic
67 )
68 )
69 Text(text = "Demo Text", fontFamily = fontFamily)
70 }
71
72 @Sampled
73 @Composable
FontFamilySynthesisSamplenull74 fun FontFamilySynthesisSample() {
75 // The font family contains a single font, with normal weight
76 val fontFamily = FontFamily(Font(resId = R.font.myfont, weight = FontWeight.Normal))
77 // Configuring the Text composable to be bold
78 // Using FontSynthesis.Weight to have the system render the font bold my making the glyphs
79 // thicker
80 Text(
81 text = "Demo Text",
82 style =
83 TextStyle(
84 fontFamily = fontFamily,
85 fontWeight = FontWeight.Bold,
86 fontSynthesis = FontSynthesis.Weight
87 )
88 )
89 }
90