Start Photoshop. You'll find the extension under the menu Window > Extensions > Typeset Buddy.
If you just want to use the standalone scripts (for instance, if you don't have PS CC), only the "jsx" folder is necessary. You can copy (and rename) it wherever you want.
Potential issues
Text encoding : the extension expects files encoded in UTF8. So to avoid encoding problems (accented characters, etc, ...), please encode your translation scripts and style set files in UTF8.
Beware of smart quotes and other exotic characters : some fonts don't have smart quotes (or tilde, ellipsis, etc...), resulting in missing glyphs or poor subsitutions when the text is inserted. If needed, use text replacement rules to change these characters to more regular ones. If you still have problems with smart quotes after that, you can disable them entirely in Photoshop's Preferences > Type.
Known limitations
Font size adjustment using the extension's functions won't work correctly on text layers that have been "transformed". By "transformed", I mean text layers on which the textbox size has been changed using the transform controls (texbox size and text size is changed at the same time when doing so).
Standalone scripts
There's currently no practical way to associate keyboard shortcuts to an HTML extension (we can hijack keypress events, but only when the extension is displayed and focused). So, in order to allow the use of some basic functions without having to click on a button or even having the extension opened, for that matter, I've added some standalone scripts. You can find them in the "jsx/" folder. There's currently three scripts :
tb_decrease_font_size_selected_layers.jsx
tb_increase_font_size_selected_layers.jsx
tb_autoresize_selected_layers.jsx
This way you can create a Photoshop Action to run these scripts and associate a keystroke to the action. (Running a script is done via the app menu File > Scripts > Browse...)
TB Robot
The tb_robot.jsx standalone script is designed to automatically typeset psd files. It won't put the text inside the bubbles, but it will create all the text layers and apply the relevant styles on them. If you don't have PS CC, look at the provided example to create your stylesets. The robot has a button to export the expected style properties and their values, as well as the list of the fonts that are available on your system.
Quick note : keep in mind that if several styles are defined for a bubble, the robot will use only the last one for the typesetting.
Style set format
If you don't (or can't) use the TB Extension and have to create your style set files manually, the basic rules are :
it's a JSON file.
it must be encoded in UTF8.
the style set must have a name.
the style set must have an array of styles.
the style set must contain one (and only one) style with the keyword "default_style".
a style set can't have duplicate styles (in other words : can't have two styles with the same keyword).
the fontName property of each style actually corresponds to the font's postScriptName in Photoshop.
Text replace rules format
If you don't (or can't) use the TB Extension and have to create your text replace rules manually, look at the provided example. You can use regular expressions or simple strings.
PSD file naming convention
The files (aka the pages) must be numbered to be processed with TB Robot. The page number is the last part of the filename (before the extension, of course). It must be preceded with a space, or an hyphen, or an underscore. Double pages are allowed, their number is separated by an hyphen. Each page number is three or four digits long. e.g. :
The end of the script is marked by the anchor END#
The working script is what's between the first page number anchor XXX# and END#
Text before and after these anchors will not be taken into account, so it's a good place to add translation notes and whatnot.
Bubbles
The rule is one bubble per line. In other words, bubbles are separated by a carriage return.
Some lines can be ignored. For instance, to keep the script readable, empty lines are used to lighten the text. Also, sometimes it can be useful to separate the panels. In which case, the line must contain only the separation symbol (one of these : long dash, single dash, double dash or equal sign).
The parts of a multi-bubble are considered to be different bubbles. But, we still need to know when a line is part of a multi-bubble. For this, we put a double slash at the beginning of the following parts. e.g. :
This is the first part of the multi-bubble.
// This line corresponds to the second part of the multi-bubble.
When a page doesn't contain any text, or at least, nothing to be typesetted, you can make the script skip it using one of the empty page keywords (one of these: blank, empty, no_text). Between brackets, as usual. It must the first text of the page. Meaning, you can add a whole essay after that, it won't be taken into account.
Styles and text type/placement
The text type (or placement) defines the nature of the text line. The text can be in a bubble, it can be not in a bubble (like some narrative stuff), it can be a sfx, or a sfx in a bubble, or a footnote...
Based on this, not only does the text type give us typesetters a clue as to where the text has to be inserted on the page, it also tells us what style should be applied.
Thus, text types/placements are actually text styles.
They must be written between square brackets, like so : [italic]
They can be written at the beginning or just after a line. e.g. :
[nib] This text is Not In a Bubble.
This bubble should be in italic. [italic]
Usually, the text type should be placed at the beginning of the line, not the end.
Usually, the style should be added at the end of the line, not the beginning.
There can be several styles defined for a single line. This gives some choice to the typesetter. Usually, the last defined style will be applied. e.g :
[nib] This text is supposed to be not in a bubble, and styled with a bold style. [bold]
A style can be defined for a whole page. In which case, add the style right after the page number :
035# [bolditalic]
All the bubbles will be written in "bolditalic style".
It is possible to override this "page style" by adding the style at the beginning or the end of the line.
What about the multi-bubbles ? Almost the same principle. The sister parts will inherit the style of the previous part. You can of course override the style of each part of the bubble. e.g. :
This first part is a shout bubble. [shout]
// Second part will inherit the previous style.
// But we want the third part to be written in italic. [italic]
Notes
Basically, notes are everything that doesn't correspond to the styles' keywords.
They must be written between TWO square brackets.
They must not contain any carriage return.
They must be placed at the end of a line, ideally after the styles. e.g. :
Blah blah blah, Mr Freeman. [bold] [[Everything that's between these brackets won't be typesetted]]
You can add as many notes as you want. Just as a style can be defined for a whole page, you can have a note for a whole page too.