51 lines
1.7 KiB
Objective-C
51 lines
1.7 KiB
Objective-C
/**
|
|
* Copyright (c) 2015-present, Facebook, Inc.
|
|
* All rights reserved.
|
|
*
|
|
* This source code is licensed under the BSD-style license found in the
|
|
* LICENSE file in the root directory of this source tree. An additional grant
|
|
* of patent rights can be found in the PATENTS file in the same directory.
|
|
*/
|
|
|
|
#import <Foundation/Foundation.h>
|
|
|
|
#import <React/RCTConvert.h>
|
|
|
|
typedef UIFont *(^RCTFontHandler)(CGFloat fontSize, NSString *fontWeightDescription);
|
|
|
|
/**
|
|
* React Native will use the System font for rendering by default. If you want to
|
|
* provide a different base font, use this override. The font weight supplied to your
|
|
* handler will be one of "ultralight", "thin", "light", "regular", "medium",
|
|
* "semibold", "extrabold", "bold", "heavy", or "black".
|
|
*/
|
|
RCT_EXTERN void RCTSetDefaultFontHandler(RCTFontHandler handler);
|
|
|
|
@interface RCTFont : NSObject
|
|
|
|
/**
|
|
* Update a font with a given font-family, size, weight and style.
|
|
* If parameters are not specified, they'll be kept as-is.
|
|
* If font is nil, the default system font of size 14 will be used.
|
|
*/
|
|
+ (UIFont *)updateFont:(UIFont *)font
|
|
withFamily:(NSString *)family
|
|
size:(NSNumber *)size
|
|
weight:(NSString *)weight
|
|
style:(NSString *)style
|
|
variant:(NSArray<NSString *> *)variant
|
|
scaleMultiplier:(CGFloat)scaleMultiplier;
|
|
|
|
+ (UIFont *)updateFont:(UIFont *)font withFamily:(NSString *)family;
|
|
+ (UIFont *)updateFont:(UIFont *)font withSize:(NSNumber *)size;
|
|
+ (UIFont *)updateFont:(UIFont *)font withWeight:(NSString *)weight;
|
|
+ (UIFont *)updateFont:(UIFont *)font withStyle:(NSString *)style;
|
|
|
|
@end
|
|
|
|
@interface RCTConvert (RCTFont)
|
|
|
|
+ (UIFont *)UIFont:(id)json;
|
|
|
|
@end
|