iOS: tweaked #791 (more fonts)

Now uses the OregonLDO font.
This commit is contained in:
David Sinclair 2015-11-02 22:17:06 -08:00
parent 839a1d0417
commit 17bd8ad676

View file

@ -303,6 +303,8 @@
NSString *headerString; NSString *headerString;
NSString *sharingHtmlString; NSString *sharingHtmlString;
NSString *footerString; NSString *footerString;
NSString *fontStyle = @"";
NSString *customStyle = nil;
NSString *fontStyleClass = @""; NSString *fontStyleClass = @"";
NSString *fontSizeClass = @"NB-"; NSString *fontSizeClass = @"NB-";
NSString *lineSpacingClass = @"NB-line-spacing-"; NSString *lineSpacingClass = @"NB-line-spacing-";
@ -312,13 +314,20 @@
} }
NSUserDefaults *userPreferences = [NSUserDefaults standardUserDefaults]; NSUserDefaults *userPreferences = [NSUserDefaults standardUserDefaults];
if ([userPreferences stringForKey:@"fontStyle"]){
fontStyle = [userPreferences stringForKey:@"fontStyle"];
if (fontStyle){
fontStyleClass = [fontStyleClass stringByAppendingString:[userPreferences stringForKey:@"fontStyle"]]; fontStyleClass = [fontStyleClass stringByAppendingString:[userPreferences stringForKey:@"fontStyle"]];
} else { } else {
fontStyle = @"Helvetica";
fontStyleClass = [fontStyleClass stringByAppendingString:@"NB-helvetica"]; fontStyleClass = [fontStyleClass stringByAppendingString:@"NB-helvetica"];
} }
fontSizeClass = [fontSizeClass stringByAppendingString:[userPreferences stringForKey:@"story_font_size"]]; fontSizeClass = [fontSizeClass stringByAppendingString:[userPreferences stringForKey:@"story_font_size"]];
if ([fontStyle isEqualToString:@"OregonLDO"]) {
customStyle = [NSString stringWithFormat:@" style='font-family: %@;'", fontStyle];
}
if ([userPreferences stringForKey:@"story_line_spacing"]){ if ([userPreferences stringForKey:@"story_line_spacing"]){
lineSpacingClass = [lineSpacingClass stringByAppendingString:[userPreferences stringForKey:@"story_line_spacing"]]; lineSpacingClass = [lineSpacingClass stringByAppendingString:[userPreferences stringForKey:@"story_line_spacing"]];
} else { } else {
@ -382,7 +391,7 @@
"<html>" "<html>"
"<head>%@</head>" // header string "<head>%@</head>" // header string
"<body id=\"story_pane\" class=\"%@ %@\">" "<body id=\"story_pane\" class=\"%@ %@\">"
" <div class=\"%@\" id=\"NB-font-style\">" " <div class=\"%@\" id=\"NB-font-style\"%@>"
" <div class=\"%@\" id=\"NB-font-size\">" " <div class=\"%@\" id=\"NB-font-size\">"
" <div class=\"%@\" id=\"NB-line-spacing\">" " <div class=\"%@\" id=\"NB-line-spacing\">"
" <div id=\"NB-header-container\">%@</div>" // storyHeader " <div id=\"NB-header-container\">%@</div>" // storyHeader
@ -402,6 +411,7 @@
contentWidthClass, contentWidthClass,
riverClass, riverClass,
fontStyleClass, fontStyleClass,
customStyle,
fontSizeClass, fontSizeClass,
lineSpacingClass, lineSpacingClass,
storyHeader, storyHeader,
@ -1539,6 +1549,7 @@ shouldStartLoadWithRequest:(NSURLRequest *)request
NSString *jsString; NSString *jsString;
NSString *fontStyleStr; NSString *fontStyleStr;
NSUserDefaults *userPreferences = [NSUserDefaults standardUserDefaults]; NSUserDefaults *userPreferences = [NSUserDefaults standardUserDefaults];
BOOL customStyle = NO;
if ([fontStyle isEqualToString:@"Helvetica"]) { if ([fontStyle isEqualToString:@"Helvetica"]) {
fontStyleStr = @"NB-helvetica"; fontStyleStr = @"NB-helvetica";
@ -1550,6 +1561,9 @@ shouldStartLoadWithRequest:(NSURLRequest *)request
fontStyleStr = @"NB-avenir"; fontStyleStr = @"NB-avenir";
} else if ([fontStyle isEqualToString:@"AvenirNext"]) { } else if ([fontStyle isEqualToString:@"AvenirNext"]) {
fontStyleStr = @"NB-avenirnext"; fontStyleStr = @"NB-avenirnext";
} else if ([fontStyle isEqualToString:@"OregonLDO"]) {
fontStyleStr = @"NB-oregon";
customStyle = YES;
} }
[userPreferences setObject:fontStyleStr forKey:@"fontStyle"]; [userPreferences setObject:fontStyleStr forKey:@"fontStyle"];
[userPreferences synchronize]; [userPreferences synchronize];
@ -1559,6 +1573,16 @@ shouldStartLoadWithRequest:(NSURLRequest *)request
fontStyleStr]; fontStyleStr];
[self.webView stringByEvaluatingJavaScriptFromString:jsString]; [self.webView stringByEvaluatingJavaScriptFromString:jsString];
if (customStyle) {
jsString = [NSString stringWithFormat:@
"document.getElementById('NB-font-style').setAttribute('style', 'font-family: %@;')",
fontStyle];
} else {
jsString = @"document.getElementById('NB-font-style').setAttribute('style', '')";
}
[self.webView stringByEvaluatingJavaScriptFromString:jsString];
} }
- (void)changeFontSize:(NSString *)fontSize { - (void)changeFontSize:(NSString *)fontSize {