1 /* 2 * Copyright (C) 2022 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 com.android.compose.theme.typography 18 19 import androidx.compose.ui.unit.sp 20 21 internal class TypeScaleTokens(typefaceTokens: TypefaceTokens) { 22 val bodyLargeFont = typefaceTokens.plain 23 val bodyLargeLineHeight = 24.0.sp 24 val bodyLargeSize = 16.sp 25 val bodyLargeTracking = 0.0.sp 26 val bodyLargeWeight = TypefaceTokens.WeightRegular 27 val bodyMediumFont = typefaceTokens.plain 28 val bodyMediumLineHeight = 20.0.sp 29 val bodyMediumSize = 14.sp 30 val bodyMediumTracking = 0.0.sp 31 val bodyMediumWeight = TypefaceTokens.WeightRegular 32 val bodySmallFont = typefaceTokens.plain 33 val bodySmallLineHeight = 16.0.sp 34 val bodySmallSize = 12.sp 35 val bodySmallTracking = 0.1.sp 36 val bodySmallWeight = TypefaceTokens.WeightRegular 37 val displayLargeFont = typefaceTokens.brand 38 val displayLargeLineHeight = 64.0.sp 39 val displayLargeSize = 57.sp 40 val displayLargeTracking = 0.0.sp 41 val displayLargeWeight = TypefaceTokens.WeightRegular 42 val displayMediumFont = typefaceTokens.brand 43 val displayMediumLineHeight = 52.0.sp 44 val displayMediumSize = 45.sp 45 val displayMediumTracking = 0.0.sp 46 val displayMediumWeight = TypefaceTokens.WeightRegular 47 val displaySmallFont = typefaceTokens.brand 48 val displaySmallLineHeight = 44.0.sp 49 val displaySmallSize = 36.sp 50 val displaySmallTracking = 0.0.sp 51 val displaySmallWeight = TypefaceTokens.WeightRegular 52 val headlineLargeFont = typefaceTokens.brand 53 val headlineLargeLineHeight = 40.0.sp 54 val headlineLargeSize = 32.sp 55 val headlineLargeTracking = 0.0.sp 56 val headlineLargeWeight = TypefaceTokens.WeightRegular 57 val headlineMediumFont = typefaceTokens.brand 58 val headlineMediumLineHeight = 36.0.sp 59 val headlineMediumSize = 28.sp 60 val headlineMediumTracking = 0.0.sp 61 val headlineMediumWeight = TypefaceTokens.WeightRegular 62 val headlineSmallFont = typefaceTokens.brand 63 val headlineSmallLineHeight = 32.0.sp 64 val headlineSmallSize = 24.sp 65 val headlineSmallTracking = 0.0.sp 66 val headlineSmallWeight = TypefaceTokens.WeightRegular 67 val labelLargeFont = typefaceTokens.plain 68 val labelLargeLineHeight = 20.0.sp 69 val labelLargeSize = 14.sp 70 val labelLargeTracking = 0.0.sp 71 val labelLargeWeight = TypefaceTokens.WeightMedium 72 val labelMediumFont = typefaceTokens.plain 73 val labelMediumLineHeight = 16.0.sp 74 val labelMediumSize = 12.sp 75 val labelMediumTracking = 0.1.sp 76 val labelMediumWeight = TypefaceTokens.WeightMedium 77 val labelSmallFont = typefaceTokens.plain 78 val labelSmallLineHeight = 16.0.sp 79 val labelSmallSize = 11.sp 80 val labelSmallTracking = 0.1.sp 81 val labelSmallWeight = TypefaceTokens.WeightMedium 82 val titleLargeFont = typefaceTokens.brand 83 val titleLargeLineHeight = 28.0.sp 84 val titleLargeSize = 22.sp 85 val titleLargeTracking = 0.0.sp 86 val titleLargeWeight = TypefaceTokens.WeightRegular 87 val titleMediumFont = typefaceTokens.plain 88 val titleMediumLineHeight = 24.0.sp 89 val titleMediumSize = 16.sp 90 val titleMediumTracking = 0.0.sp 91 val titleMediumWeight = TypefaceTokens.WeightMedium 92 val titleSmallFont = typefaceTokens.plain 93 val titleSmallLineHeight = 20.0.sp 94 val titleSmallSize = 14.sp 95 val titleSmallTracking = 0.0.sp 96 val titleSmallWeight = TypefaceTokens.WeightMedium 97 } 98