Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
×
Create a free account

Issues with Fonts

So normally for languages in my game I've used google translate to change the text into a unrecognizable style such as Arabic, which then I copy and and past into roll20. If they know the language (IE Elvish) I tell them in English what it really says) I recently found downloadable fonts for the scripts of the languages used by my system, which is really cool. However when copying and pasting these from open office, it only copies the original context, and not the new cool "images". Is there an easy way to get these to copy over, or is it not possible because the fonts are only installed on my computer? Is Arabic installed on everyone's computer? Please and Thank you.
1502137860

Edited 1502137954
Lithl
Pro
Sheet Author
API Scripter
Each character is effectively a number, which the computer uses the font to translate into a glyph. Arabic is no different in this respect; each arabic symbol is a number that the font translates into a glyph. You're not seeing an 'Arabic font', you're seeing the same font rendering Arabic characters. (If the current font doesn't have a glyph for the given character, you'll see something along the lines of � or an empty box.) If you're just pasting text into the chat, you're just pasting the characters used, not the font. Even if your players had the Gallifreyan font installed, it wouldn't help, because nothing is telling their computer to render the text in Gallifreyan. Character sheets (and, by extension, rolltemplates in the chat) can try to tell the user's computer to use some specific font, however that requires either all of your players having the font installed or hosting the font somewhere (and there aren't really solutions for hosting arbitrary font files outside of running your own server, which is how several fonts on sheets I've authored are available). Additionally, if the font is hosted somewhere, Roll20 pipes the file through a proxy, and the proxy is (currently) not running over https, which means the user's browser will block the font file until the user explicitly allows it. Further, having a custom character sheet (and thereby having custom rolltemplates) requires that the campaign creator has a Pro subscription.
Thanks for the clarification Brain, I was afraid that it wasn't really possible. Was hoping that someone smarter than me would just say "Oh yes, just do x,y,z) Again thanks, I think for now I'll just have to make images of the text and post those images instead. Its a bit more work, but should be fine.
1502163806
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
One of the things many groups do is to create a character called ex. "Elvish", and give control over it to all players who speak Elvish. If you whisper to that character, only the people who speak elvish (i.e., have control over said character) can see the post. With a clever bit of macro writing, you could assign this all to a button or macro that will post a public emote that says something like "[character] speaks a phrase in elvish" to let other players know a conversation is being had, followed by the whispered translation.
@keithcurtis I already have "language" characters set up. What I was wondering is how to have the above posted Rellanic (Elvish script) show up as the broadcast emote, which would be followed by a wispers to select members in the English equavalient?
1502211127
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Well, you're probably out of luck then. It's possible that you could set something like that up if you were creating a sheet from scratch, but I doubt even then you could use a local font. Assuming it's possible, you would need a webfont of some kind.
The ones shown above are installed fonts and show in open office. How would I set those up in a custome sheet, or am misunderstanding you? (asumong I get pro to do so).
1502214085
Lithl
Pro
Sheet Author
API Scripter
Here's an example of using a specific font (from the Dresden Files sheet): @font-face { font-family: "Lucida Handwriting"; src: local('Lucida Handwriting'), url(<a href="http://static.cmdr-class.com/lucida-handwriting.ttf" rel="nofollow">http://static.cmdr-class.com/lucida-handwriting.ttf</a>) format('truetype'); } input, select, textarea { &nbsp; &nbsp; font-family: "Lucida Handwriting", cursive; &nbsp; &nbsp; color: #05356b } That CSS would try to use the font "Lucida Handwriting" in input, select, and textarea fields on the sheet. If Lucida Handwriting is not available, it will use the browser's default cursive font. The Lucida Handwriting font will either be the local font installed on the player's computer named "Lucida Handwriting", or else it will be the font file located at&nbsp;<a href="http://static.cmdr-class.com/lucida-handwriting.ttf" rel="nofollow">http://static.cmdr-class.com/lucida-handwriting.ttf</a> (a server I own, although I think that particular domain is going to be turned down within a year and I need to update this address to lithl.info).
So my players would need to have the fonts installed for it to work through that way? Until I can figure that out, for now I'm going to with with copying it into paint, and slapping an image of it on the map for them. IE: Then I have a macro set up with character sheets for all the languages which I can just select which one and type (copy and paste) the real wording into: /em ?You see some strange text. /w ?{Whisper|Abyssal(Barazhad)|Common(ModernThorass)|Draconic(Iokaric)|Dwarven(Davek)|Elvish(Rellanic)|DeepSpeech(Espruar)|Giant(Dethek)|Goblin(OldThorass)|Primordial(Barazhad)|Supernal(Enochian)|LanguageOfTheMind(Gallifreyan)|Thri-Kreen(Chachik)} ?{Understand|text} If anyone else has an easier way to handle this, please feel free.
1502231073

Edited 1502231125
keithcurtis
Forum Champion
Marketplace Creator
API Scripter
Correct. What Brian was describing is similar to what I was describing: referencing a font that exists online*. It would need to be coded into the css or style tag of a character sheet or its associated roll template from what I understand. You couldn't reference it from a macro or through the chat interface. Your graphic idea is probably the simplest solution for what you are attempting. ______________________________ *I was talking about something like Google Fonts; I didn't realize you could simply declare a font file by url. that's a neat trick, Brian!. Does it stay resident on the client side for the duration of the session?
So I could upload the .ttf files onto lets say my personal website. And within the sheet have it reference it like brian showed, which would let me and my players see those custom fonts?
1502234894

Edited 1502234905
The Aaron
Pro
API Scripter
I actually have a script that transliterates the Elder Futhark using images: Works in chat too: I should probably finish that up some day...
1502236576
Lithl
Pro
Sheet Author
API Scripter
lavathor said: So I could upload the .ttf files onto lets say my personal website. And within the sheet have it reference it like brian showed, which would let me and my players see those custom fonts? You would need to style a rolltemplate in order to do it in chat, but yes.
Okay in 2 months when I start my subscription back up I'll give it a while.
1502412140
Scott C.
Forum Champion
Sheet Author
API Scripter
Compendium Curator
Brian said: Here's an example of using a specific font (from the Dresden Files sheet): @font-face { font-family: "Lucida Handwriting"; src: local('Lucida Handwriting'), url(<a href="http://static.cmdr-class.com/lucida-handwriting.ttf" rel="nofollow">http://static.cmdr-class.com/lucida-handwriting.ttf</a>) format('truetype'); } input, select, textarea { &nbsp; &nbsp; font-family: "Lucida Handwriting", cursive; &nbsp; &nbsp; color: #05356b } That CSS would try to use the font "Lucida Handwriting" in input, select, and textarea fields on the sheet. If Lucida Handwriting is not available, it will use the browser's default cursive font. The Lucida Handwriting font will either be the local font installed on the player's computer named "Lucida Handwriting", or else it will be the font file located at&nbsp; <a href="http://static.cmdr-class.com/lucida-handwriting.ttf" rel="nofollow">http://static.cmdr-class.com/lucida-handwriting.ttf</a> (a server I own, although I think that particular domain is going to be turned down within a year and I need to update this address to lithl.info). Brian, is there some sort of block on certain addresses for fonts? or do they need to be in a specific format (e.g. have ".ttf")?
1502428436
Andrew C
Marketplace Creator
The Aaron said: I actually have a script that transliterates the Elder Futhark using images: Works in chat too: I should probably finish that up some day... Um... yes please! Even better if you can make the thing have a setting to accept a Font URL like the one Brian was using in his CSS... that would be awesome. (But potentially WAY outside the scope of APIs since I really have no idea how you people do your alchemy).
1502428650
The Aaron
Pro
API Scripter
I don't think API can't specify a font like a character sheet can, sadly. &nbsp;Pretty sure it gets stripped out of the CSS. &nbsp;Of course, the way I'm doing it doesn't rely on a font, just individual glyph images.
1502469031
Lithl
Pro
Sheet Author
API Scripter
Scott C. said: Brian said: Here's an example of using a specific font (from the Dresden Files sheet): @font-face { font-family: "Lucida Handwriting"; src: local('Lucida Handwriting'), url(<a href="http://static.cmdr-class.com/lucida-handwriting.ttf" rel="nofollow">http://static.cmdr-class.com/lucida-handwriting.ttf</a>) format('truetype'); } input, select, textarea { &nbsp; &nbsp; font-family: "Lucida Handwriting", cursive; &nbsp; &nbsp; color: #05356b } That CSS would try to use the font "Lucida Handwriting" in input, select, and textarea fields on the sheet. If Lucida Handwriting is not available, it will use the browser's default cursive font. The Lucida Handwriting font will either be the local font installed on the player's computer named "Lucida Handwriting", or else it will be the font file located at&nbsp; <a href="http://static.cmdr-class.com/lucida-handwriting.ttf" rel="nofollow">http://static.cmdr-class.com/lucida-handwriting.ttf</a> (a server I own, although I think that particular domain is going to be turned down within a year and I need to update this address to lithl.info). Brian, is there some sort of block on certain addresses for fonts? or do they need to be in a specific format (e.g. have ".ttf")? Not that I'm aware, however as I said upthread Roll20 pipes the font through an http proxy, which makes your browser complain about mixed content (since the VTT is on https). Also worth mentioning: you cannot use a data-uri, as the character sheet security code will throw out all of your CSS if it sees one.