Pages - Square bullets

Hey community,
I am trying to use square style bullets for my lists. I am using most recent version of Pages. I think it is 4.0.5. When I select Text Bullets, there is no option for square bullets which seems odd to me because the Microsoft Office Suite has them. I have found the square bullet design under Special Characters but I don't know how to implement them as a formatted bullet. Is there a way to add bullet styles to the text bullet library in Pages? Any advice on how I can use square bullets in Pages would be greatly appreciated. Thanks.
Regards,
Pierce

Like ■ ☐  ☒  ☑ □ ❏ ❐ ❑ ❒ ◆?
Have you gone to:
Menu > Edit > Special Characters… > Bullets/Stars
Or just copy and paste from my post.
Peter

Similar Messages

  • XSL-FO square bullet HEX Code

    I am working on XSL-FO and HEX code "▪" for small black square is not working correctly. It is being replaced by "#" in my PDF output. Is there a place in the ckeditor files where we need to add this HEX code to work? Or if someone knows other HEX codes for square bullet that work in XSL_FO.
    Thanks in Advance!!

    Anybody have any ideas?

  • To obtain squared bullets in content uploading in sharepoint

    Hi,
    I'm unable to get the squared bullets in sharepoint ribbon.
    is there any feature available to obtain that??
    please help me ASAP.
    thanks in advance.

    Hi,
    Can you provide a screenshot to make others easier to know your requirement?
    Best regards
    TechNet Community Support
    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact
    [email protected]

  • Square Bullet in Keynote

    How can I get a SQUARE BULLET to appear in the drop-down list of Text Bullets in Keynote's Text Inspector?
    (I have read earlier threads on creating an image or selecting text from Special Characters ... that's not what I am looking for here.)
    I have an existing piece of text in my Keynote presentation that has this text Square Bullet.  Like this:
    This Square Bullet  behaves in all ways like a standard text bullet (i.e., I can size it, color it, set its indent, etc.)  However, I cannot find a way to add this shape of bullet to other text blocks.  I have saved this piece of text and copy/edit it when I need a square bullet but I'd rather see the square bullet as a choice in the drop-down.  Is there some way to get it to appear there?
    Thanks!
    (Keynote 5.3 on OS 10.8.5)

    Short answer: You can't. Selecting images for bullets only works on the Mac.
    However, if you have both Keynote '09 for OSX and Keynote for iOS, you can create a dummy Keynote presentation on the Mac and add any modified bullets you need to it and then copy the Keynote dummy to your iPad using iTunes or Dropbox and then use this file on your iPad as a sort of scrap yard for bullet parts - you can open it on the iPad, COPY a slide that has the bullets that you like, close that file, open the file you want the bullets to appear and PASTE the slide. The bullets with the graphic elements you want will now behave as bullets on your iPad. Or...
    If you only want the bullets, not the background slide, select the text box containing the bullets and COPY, then PASTE the Text Box where you want it on your own slide.
    You may have to fiddle with fonts.
    Messy, but works.
    Good Luck.

  • Web-help output - square bullets issue (firefox)

    RoboHTML 8.02
    Webhelp Ouput
    Firefox v3.6.15
    I wonder if anyone has come up with a fix for square bullets not being displayed in Firefox correctly.
    I've created some lists using the multi level list styles which work perfectly.
    The bullet list display great in all browsers apart from firfox. The issue is square bullets being displayed as § symbols.   
    The obvious fix is not to use square bullets
    Or to use a image for square bullet but that may render differently in print.
    I'd rather find a workaround using the default bullets.
    Appreciate it is a firefox issue rather than Robohelp specfic. But sure someone out there has a solution?
    I'm fiddling round with styles to try and sort it out but would appreciate any advice.
    thanks
    Craig

    Multi Level lists in .css:
    rh-list.multi_bullet {
    x-lvl-1-format: "<x>";
    x-lvl-2-type: square;
    x-lvl-2-format: "<x>";
    x-lvl-3-format: "<x>";
    x-lvl-4-type: diamond;
    x-lvl-4-format: "<x>";
    x-lvl-4-margin: 60px;
    x-lvl-5-type: disc;
    x-lvl-5-format: "<x>";
    x-lvl-5-margin: 80px;
    x-lvl-6-type: square;
    x-lvl-6-format: "<x>";
    x-lvl-6-margin: 100px;
    x-lvl-7-type: circle;
    x-lvl-7-format: "<x>";
    x-lvl-7-margin: 120px;
    x-lvl-8-type: diamond;
    x-lvl-8-format: "<x>";
    x-lvl-8-margin: 140px;
    x-lvl-9-type: disc;
    x-lvl-9-format: "<x>";
    x-lvl-9-margin: 160px;
    x-lvl-9-pfx-class: rls-9-Bullets;
    x-lvl-1-pfx-class: rls-1-Bullets;
    x-lvl-2-pfx-class: rls-2-Bullets;
    x-lvl-3-pfx-class: rls-3-Bullets;
    x-lvl-4-pfx-class: rls-4-Bullets;
    x-lvl-5-pfx-class: rls-5-Bullets;
    x-lvl-6-pfx-class: rls-6-Bullets;
    x-lvl-7-pfx-class: rls-7-Bullets;
    x-lvl-8-pfx-class: rls-8-Bullets;
    x-lvl-2-margin: 40px;
    x-lvl-2-text-indent: -20px;
    x-lvl-3-type: square;
    x-lvl-3-margin: 60px;
    x-lvl-3-text-indent: -20px;
    x-level-count: 9;
    x-lvl-1-type: square;
    x-lvl-1-margin: 20px;
    x-lvl-1-text-indent: -20px;
    styles from .css HTML IN TOPIC
    <?rh-list_start class="multi_bullet" ?><p style="text-indent: -20px; margin-left: 20px;">multi_bullet
    LEVEL 1 Lorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum
    dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet,
    consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing
    elitLorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum
    dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet,
    consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing
    elitLorem ipsum dolor sit amet, consectetur adipiscing elit</p><?rh-list_end ?>
    <?rh-list_start level="2" class="multi_bullet" ?><p style="text-indent: -20px;
    margin-left: 40px;">multi_bullet
    LEVEL 2 &#160;Lorem ipsum dolor sit amet, consectetur adipiscing elitLorem
    ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit
    amet, consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur
    adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing elitLorem
    ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit
    amet, consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur
    adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing elit</p><?rh-list_end ?>
    <?rh-list_start level="3" class="multi_bullet" ?><p style="text-indent: -20px;
    margin-left: 60px;">multi_bullet
    LEVEL 3 Lorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum
    dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet,
    consectetur adipiscing elitLorem ipsum dolor sit amet, consectetur adipiscing
    elitLorem ipsum dolor sit amet, consectetur adipiscing elitLorem ipsum
    dolor sit amet, consectetur adipiscing elitLorem ipsum dolor sit amet,
    consectetur adipiscing elit</p><?rh-list_end ?>

  • Adding a "normal" square check box as a Pages 09 bullet?

    I would like to add a "normal" check box to my text bullets or image bullets in Pages 09 for more formal documents. The "artsy" check box supplied with Pages 09 is inappropriate for my work. Is there a way of getting or using a normal square check box for pages?

    The changes are in the document, not in the program.
    When the program will open this hacked document, it will grab the xml instruction as is.
    If the syntax is modified as it was from Numbers '08 to Numbers '09, the keywords will change but not the contents.
    Its the beauty of XML
    I wish to add that I posted this hack because it is not machine dependent.
    If you apply it on your machine, the document will behave the same if you open it on an other system.
    I would not did that if the document was OK only on its source machine. Not sure of my syntax but I think that you may understand. You may re-phrase it if it's really too odd).
    Second addition.
    As you saw, there are nine predefined bullets.
    If you edit the embedded descriptors you may have nine + nine different bullets. But you may also edit already edited descriptors.
    So, if you want to build a really ugly document you may use a huge number of different bullets (Pandora's box is open).
    Yvan KOENIG (from FRANCE vendredi 24 avril 2009 11:23:27)

  • Drop-down Text - Bullet Format

    Can bullets in a drop-down text box be different than the bullet of the item it is describing. In RoboHelp 9, the bullets take on the formatting of the original item even though I have them formatted differently.
    Here is an example of what I'm trying to do.
    I start with this list:
    When I create the drop-down text and format the bullets within this text for item "Line 1", they look like this.
    When I view the selected item and/or when I generate and view it, I get the following result.
    Obviously I didn't create the drop-down text with the large square bullet, but it appears to pick up the bullet from the main listing.
    How can I get separate formatting for the drop-down text?  Is there something wrong with the formatting of my drop-down text box?
    I do have drop-down text boxes in RoboHelp 7 that have different bullet formatting, but the only way this could be achieved is by leaving the formatting of the original list as Normal and inserting the bullet as an image.
    This shows the list item with an inserted image as the bullet and in Normal format.
    This shows the formatting that I would like to see.
    This shows that the formatting is ok in the drop-down, but only if I don't use bullets on the original list.
    Thank you!

    Did anyone ever figure this out? I am having the same problem, but in addition to bullet and numbering styles, the dropdown text is inheriting other qualities from the Hotspot format, including font color.
    What can I do to maintain the formatting in the drop down text independently from the text formatting of the hotspot?
    Thanks!

  • RH8 conversion (bullet images and numbered lists are different)

    Version 8.0.2.208
    Conversion of 1200 htm files.
    Has anyone experience bullet images in their custom styles changing from RH7 to RH8 and numbers in numbered lists resized?
    Bullets
    I noticed that all my bullet images have changed. They are OK in Design view, but change when the topics are previewed and generated.
    For example, if the style used a small square bullet image, it was changed to the bullet used at the beginning of this sentence.
    If I attempt to create a new bullet list in the existing topic using the Normal style (Arial 12)  and Formatting Toolbar (Bullets), the bullet and text are changed to (Arial 10) and the style name changes to (none) in Design view. Preview and generated is also Arial 10 for both.
    Numbered Lists
    Most of the existing converted topics used the Normal style and Formatting Toolbar (Numbers) for numbered lists. There is spacing between each numbered line. The numbers and text are in (Arial 12) in Design view, but the numbers are (Arial 10) when the topics are previewed and generated and the text remains (Arial 12).
    If I select the numbered list, click the numbered list icon to turn off numbering, and then click to turn on numbering, the numbers and text are (Arial 10) and the style is changed to (none). Output and preview are (Arial 10). The spacing between the numbered items is deleted.
    I have to then highlight that list and change the style back to Normal for (Arial 12) text.
    If I attempt to create a new numbered list in the existing topic using the Normal style (Arial 12)  and Formatting Toolbar (Bullets), the bullet and text are changed to (Arial 10) and the style name changes to (none) in Design view. Preview and generated is also Arial 10 for both.
    This has taken up a lot of my time. Any clues?
    Donna

    I went to the link you provided.I am still confused as to the step by step procedure to fix my custom bullet style that is used throughout my project. Can you globally fix this issue? It would be too time consuming to figure out where in 1200 topics this style is used. I guess I don't understand list styles.
    Custom Style = BulletList
    My custom (BulletList) style -  Design mode:
    Preview mode (incorrect)
    Another topic using ths sam (BulletList) style - Preview mode (incorrect should be square bullets)
    I select Format > Styles in design mode. Right-click on BulletList, select Edit.
    If I ceate a bulleted list, the square bullet is selected.
    Donna

  • Spry UI 1.7 slideshow images cascade down page in design view

    When I put in the Spry slideshow all the images go down the page in bullets.  It works fine in the browsers, so it is no problem.  But... it is SO annoying because I am trying to finish off the page and do some stuff under this slideshow but i can see there.  So it has messed me all up because I am not good at just hand coding the website... I have to do a little of both...  Others have kind of suggested to just live with it... but I just cant

    The only reliable view in DW is the Live View. Design view is OK for very simple layouts and documents. As soon as it becomes more complicated, then you cannot rely on design view.
    And even though Live View can give a better picture of what you are doing, you must always check your design in all of the target browsers.
    Gramps

  • Bullet does not show correctly in WYSIWYG.

    Hi All,
    I'm currently using RoboHelp X5.
    I use the .css file, which are already made, for a new
    project and the bullet style appears incorrectly in WYSIWYG. For
    example, if I apply the circle bullet, the square bullet appears in
    WYSIWYG. But If I see the topic in preview, it looks fine.
    I'm not sure if it is related to the this bullet problem,
    when creating a new project, the errors occurred saying "An error
    occurred while trying to save data to <.../rhfontset.apj>"
    and "An error occured while trying to read data from
    <.../fhfontset.apj>"
    Please help me with this problem, if anyone knows...
    Thanks.

    When you say you are getting the same error, do you mean just
    the wrong bullet or you also get the rhfontset.apj message?
    Have you tried using a different style sheet to test whether
    that gives the same problem? Take a copy of the project using
    Windows Explorer and in the copy go to the topic list. Select all
    the topics and right click. Select Properties and you can apply the
    supplied style sheets.
    Also test one of the supplied projects.
    Sorry I won't be around much today so hopefully this helps or
    someone else can guide you.

  • Bullets not aligning using css

    i have made a text area, added a text editor but when i view the text area on the page the bullet points are sitting outside the DIV
    i am using php mysql and using
    <textarea name="landlordsTXT" id="landlordsTXT" style="width: 610px; height: 200px"><?php echo nl2br($row_Recordset1['landlordsTXT']); ?></textarea>
    <script>
              $('#landlordsTXT').wysihtml5();
    </script>
      <script src="lib/js/wysihtml5-0.3.0_rc3.js"></script>
    <script src="lib/js/jquery-1.7.1.min.js"></script>
    <script src="lib/js/prettify.js"></script>
    <script src="lib/js/bootstrap.min.js"></script>
    <script src="src/bootstrap-wysihtml5.js"></script>
    thanks in advance

    <div ="DivName">
    <h3>Heading text goes here...</h3>
    <ul>
         <li>list item</li>
         <li>list item<li>
         <li>list item</li>
    </ul>
    </div>
    CSS:
    #divName h3 {margin:0; padding:0;}
    #divName ul li {margin-left: 45px; padding-left: 18px}
    Nancy O.
    Message was edited by: Nancy O.   Make that margin-left and padding-left.

  • Safari on iPad2, iOS 4.3.5, "new page" button not working...

    Hi!
    Got an iPad2 a couple of weeks ago, it was working fine. I updated to iOS 4.3.5 as requested, and since then the "new page" (square) button in Safari is not working. I can open a link in Mail, or even hold-click on a link in a web page and I get the "switching pages" animation (and see the other pages) but even though the number in the square increases (indicating the number of open pages) I can't "click" on it to switch pages...
    The rest of the toolbar buttons (back, front, bookmarks, "share") work fine but this makes using Safari quite a PITA... so much so that I'd rather copy a link and manually open it in Opera.. A pity that Opera can't be set as the default browser!!
    Any hints? I've tried deleting all Safari caches via settings (which resets the counter, obviously as it deletes the previous pages), switching off the iPad, Home+standby button for long time until it resets...
    Thanks a lot!!!

    No confusion. I hate that you cannot edit a post with the iPad but that a different discussion ....
    If you didn't see any databases in the Safari settings - then you don't have any. Those are created when you visit certain sites - for instance the Apple iPad User Guide that is available as a Safari bookmark. If you open that user guide, it puts a database in Safari and I assume its like a very specific cache kind of thing. Youcann delete them with no problem because the database will return when you visit the site again.
    The only other suggestions that I can make would be to toggle settings on and off in Safari, like hide the toolbar, turn it back on, turn off auto fill, turn it back on. No idea if that would do any good at all - and it probably won't - but I'm out of rational ideas now! :)
    I think you said that you tried this but this would be my last gasp effort unless some other user has any ideas - reset the iPad- hold the sleep and home buttons down together until the Apple logo appears- IGNORE the red slider - once the Apple logo appears you can let go of the buttons and let the iPad boot up. It can take a couple of minutes.

  • Sub bullets

    Just wondering if there is a standard to use for sub-bullets in professionally designed documents (such as brochures).
    Hollow bullets are standard for non-pro documents, such as reports, but I have never seen them used in pro pieces designed for public.
    Usually I try to rework the text to avoid sub-bullets altogether, or do not put anything in front of them, but have a case now where it looks unavoidable.
    Anyone have any insight into this?

    If I'm designing, I usually use em dashes underneath bullets. Sometimes
    I use square bullets with diamonds for sublists. I've used fingers,
    arrowheads, stars, checks. I just finished a book where the author
    insisted on ellipses instead of bullets.
    Kenneth Benson
    Pegasus Type, Inc.
    www.pegtype.com

  • Creating Bullets with Caps Lock On

    Getting incosistent results when creating bullets (ALT>0149) if Caps Lock is on. It will work only after selecting a new font and then not completely consistently.
    Ai 13.0.2 on WinXP

    >I usually do Alt 7 for bullets though, 'cuz I'm too lazy to type alt 0149
    I'm guessing that's something new in AI 13, is that right, Philip?
    >How do I get a square bullet, I guess using ASCII codes, do I need a specific font for it to work? We are currently using Arial.
    Ian, there is no square bullet within the Arial standard Windows Western set. If you have Arial Unicode, you'll find a square bullet at U+25AA. Since this is way outside the extended ASCII set, you cannot select it using Alt+Code. As Philip suggests, use CharMap, or, if you have a recent version of Illustrator, use the Glyph palette.
    http://xrl.us/bhmsz
    Note that if you're using an earlier version of Illustrator (ca. version 10 or earlier), lack of Unicode support will prevent you from using anything outside the basic Western set.
    You'll find a small black square in WingDings, too.

  • Woes placing text; need benefit of your experience! [CS4 + JS]

    Hi-- I'm working on a routine for importing a number of text documents into InDesign, but have come up with odd behavior when placing text. I'm working with ID CS4 & javascript; all the actions perform the same when doing them manually.
    I start with text--actual unformatted text originating from a Word document, but saved as a text file--and with the text tool place it at the cursor position in a paragraph in 'body text' style; the text picks up formatting different than the style, namely the font from 'Headline' style, although pt size & leading are still 'body text' style.
    Yet when I cut the same text from a text editor, then paste it at the cursor position, the text appears as I expect, in body text style with no overrides.
    This is a small improvement: When I first tried placing the text,  it had been coming in with a character style applied. I noticed that the character style being applied was selected in the Quick Apply menu. Un-selecting the character style in the Quick Apply got me to where I am now.
    It's driving me nuts that I still can't figure out where the Headline-style font is coming from! Any pointers?
    Thanks in advance...
    Daniel
    p.s.: I'm trying the text import angle to avoid other problems I'd been having importing Word documents, namely importing any Word97-2003 document with highlighted text would crash ID, Word character styles adding direct formatting to the text in ID, etc.

    As promised, here is the code, as it stands, for whatever help it can be. The code is specific to my particular uses, but the approach of tagging various direct/character styles from Word, wiping all formatting then reapplying ID styles and removing the tags may be useful.
        ConvertWordBrute.jsx
        Problem: importing from regularly styled Word templated documents to CS4 can be a mess. Even if import presets are exactly set,
        if the Word doc has character styles, text can come in with layered character styles. Applying correct character styles and then
        removing  overrides won't fix because character styles and direct formatting are layered on every bit of text and formatting is not
        at all standard. To fix, all character styles AND overrides must be removed to wipe out the strangeness. This script shows one approach
         to keep italic, bold and bold italic direct formatting, and perhaps other stuff to preserve what the writers intended.
        The approach: tag formatting outside of ID's usual facilities, wipe all formatting clear, then apply the proper styles & character styles.
        Presumes:
            --A word import preset has been set...
            --Will need to trap for missing fonts? (e.g. Windings Bold, which is faked in Word; doesn't actually exist!)
            Left @: Works reasonably well. Probably should be run on before layout has sections.
            --Document includes a paragraph style named "Body Text"
    * @@@BUILDINFO@@@ ConvertWordBrute.jsx !Version! Thu Oct 11 2011 10:52:08 GMT-0700
    #script "ConvertWord"
    #target "InDesign"
    main();
    function main(){
        try {
            var docRef = getActiveDocument();
        } catch (e) {
            alert (e);
        var confirmWarning = "Note: bold, italic and bold-italic will be turned into character styles, then this script clears all overrides--" +
            "any character spacing applied outside of regular paragraph and character styles will be erased--OK?";
        var myConfirm = confirm(confirmWarning, true, "Text change alert!");
        if (myConfirm == false){
            return;
        var jumpTextCharStyle = "Body jump text";
        var jumpLineChars = 30;
        //saveTextReflowState & turn it off to avoid adding pages...
        var smartTextReflowState = docRef.textPreferences.smartTextReflow
        docRef.textPreferences.smartTextReflow = false;
        //Apply HTML-like tags to text with formatting you want to keep
        //what you search here depends on how your import preferences were set... did you map incoming word styles? to what? Normal -> Body Text?
        tagFormattedCharacters(docRef, "Body Text", "Bold" , "b");
        tagFormattedCharacters(docRef, "Body Text", "Italic" , "i");
        tagFormattedCharacters(docRef, "Body Text", "Bold Italic" , "bl");
        tagFormattedCharacters(docRef, "Normal", "Bold" , "b");
        tagFormattedCharacters(docRef, "Normal", "Italic" , "i");
        tagFormattedCharacters(docRef, "Normal", "Bold Italic" , "bl");
        tagFormattedCharacters(docRef, "Body Text indent", "Bold" , "b");
        tagFormattedCharacters(docRef, "Body Text indent", "Italic" , "i");
        tagFormattedCharacters(docRef, "Body Text indent", "Bold Italic" , "bl");
        cleanupTags(docRef);
        //Convert Word styles to ID styles, then wipe Word styles
        convertWordStyles(docRef);
        //Re-apply all paragraph styles with no overrides or character styles
        formatTaggedCharacters(docRef, "b", "Bold")
        formatTaggedCharacters(docRef, "i", "Italic")
        formatTaggedCharacters(docRef, "bl", "Byline")
        // Replace jump lines character style, since above makes all bold-italic into Byline style
        formatJumpLines(docRef, jumpLineChars, jumpTextCharStyle);
        //re-instate text reflow
        docRef.textPreferences.smartTextReflow = smartTextReflowState;
    function getActiveDocument(){
    //returns reference to active document; otherwise undefined
        //if a variable is not assigned a value, its value is undefined
        if (app.documents.length == 0) {
            throw ("No documents open");
        //returns value for variable docRef back to call statement
        var docRef = app.documents.item(0);
        return docRef;
    function tagFormattedCharacters(docRef, paragraphStyle, fontStyle, fontTag) {
        // Searches for characters in paragrapfStyle, fontStyle in docRef, enclosing any characters found
        // in HTML-style angle-bracket tags containing fontTag
        var myStyles, s, stylesRE;
        //First chk if passed paragraphStyle exists
        for (var s = docRef.paragraphStyles.length-1; s >= 2; s--) {
            //get a list of pipe-separated styles, but not the default styles in brackets, since they'll screw up a RegExp pattern
         myStyles = docRef.paragraphStyles[s].name + "|" + myStyles;
        stylesRE = new RegExp(myStyles);
        if (!paragraphStyle.match(stylesRE)){
            return;
        //Clear the find/change preferences.
        clearFindChangePrefs()
        //Set the find options.
        app.findChangeTextOptions.caseSensitive = false;
        app.findChangeTextOptions.includeFootnotes = false;
        app.findChangeTextOptions.includeHiddenLayers = false;
        app.findChangeTextOptions.includeLockedLayersForFind = false;
        app.findChangeTextOptions.includeLockedStoriesForFind = false;
        app.findChangeTextOptions.includeMasterPages = false;
        app.findChangeTextOptions.wholeWord = false;
        app.findTextPreferences.appliedParagraphStyle = paragraphStyle;
        app.findTextPreferences.fontStyle = fontStyle;
        var myFoundItems = docRef.findText();
        openTag = "<"+fontTag+">";
        closeTag ="</"+fontTag+">";
        //Note: gotta iterate from the end forward, otherwise tag insertions will skew insertion points
        for(i=myFoundItems.length-1; i>-1; i--){
            myFoundItems[i].insertionPoints.lastItem().contents = closeTag;
            myFoundItems[i].insertionPoints.firstItem().contents = openTag;
    function cleanupTags(myObject){
        // To correct for faulty formatting resulting in badly placed tags, e.g.: tags on both sides of paragraph returns.
        // To internalize search routines into this script, it uses a series of searches equivalent to FindChangeByList,
        // captured with RecordFindChange_CS3-CS5.jsx .
        // Note GREP search strings MUST be enclosed in quotes with all internal backslashes & quotes escaped,
        // e.g.: \\ becomes \\\\, findWhat:"( becomes findWhat:\"(
        var myChangesArray = new Array();
        // a few changes to clean up placement of formatting tags which may be funky from Word direct formatting
        myChangesArray[0] = "grep    {findWhat:\"(<[^>]*>)(\\\\s)(</[^>]*>)\"}    {changeTo:\"$2\", changeConditionsMode:1919250519}    {includeLockedStoriesForFind:false, includeLockedLayersForFind:false, includeHiddenLayers:false, includeMasterPages:false, includeFootnotes:false}"; //Nix bolded white space of any kind
        myChangesArray[1] = "grep    {findWhat:\"(<[^>]*>)(\\\\ )(\\\\[)\"}    {changeTo:\"$2$1$3\", changeConditionsMode:1919250519}    {includeLockedStoriesForFind:false, includeLockedLayersForFind:false, includeHiddenLayers:false, includeMasterPages:false, includeFootnotes:false}"; //move spaces (only!) in front of bylines before tag
        myChangesArray[2] = "grep    {findWhat:\"(\\\\r)(</[^>]*>)\"}    {changeTo:\"$2$1\", changeConditionsMode:1919250519}    {includeLockedStoriesForFind:false, includeLockedLayersForFind:false, includeHiddenLayers:false, includeMasterPages:false, includeFootnotes:false}"; //move close tags before graf returns
        myChangesArray[3] = "text    {findWhat:\"<bl>^_</bl>\"}    {changeTo:\"^_\", changeConditionsMode:1919250519}    {includeLockedStoriesForFind:false, includeLockedLayersForFind:false, includeHiddenLayers:false, includeMasterPages:false, includeFootnotes:false, wholeWord:false, caseSensitive:false}";    //Replace em dashes that somehow get bold italic
        findChangeByArray(myObject, myChangesArray)
    function convertWordStyles(docRef){
        // Converts Word styles to ID styles, then wipes Word styles
        // To internalize search routines to this script, this uses a series of searches equivalent to FindChangeByList,
        // captured with RecordFindChange_CS3-CS5.jsx .
        // Note search strings MUST be enclosed in quotes with all internal backslashes & quotes escaped, esp. important for GREP
        // e.g.: \\ becomes \\\\, findWhat:"( becomes findWhat:\"(
        var i, p, stylesRE;
        var myChangesArray = new Array();
        //note: findChangeByArray does not trap for
        myChangesArray[0] = "text    {findWhat:\"^p^t\"}    {changeTo:\"^p\", changeConditionsMode:1919250519}    {includeLockedStoriesForFind:false, includeLockedLayersForFind:false, includeHiddenLayers:false, includeMasterPages:false, includeFootnotes:false, wholeWord:false, caseSensitive:false}"; // remove tabs at the start of paragraphs
        myChangesArray[1] = "text    {findWhat:\"n\", appliedParagraphStyle:\"Heading 1\", appliedFont:\"Wingdings\", fontStyle:\"Bold\"}    {changeTo:\"^8\", appliedCharacterStyle:\"[No character style]\", appliedParagraphStyle:\"Headline 1\", changeConditionsMode:1919250519}    {includeLockedStoriesForFind:false, includeLockedLayersForFind:false, includeHiddenLayers:false, includeMasterPages:false, includeFootnotes:false, wholeWord:false, caseSensitive:false}"; //replace square bullet in Heading 1 Word style to standard bullet Headline 1 + Bold
        myChangesArray[2] = "text    {appliedParagraphStyle:\"Normal\"}    {appliedParagraphStyle:\"Body Text\", changeConditionsMode:1919250519}    {includeLockedStoriesForFind:false, includeLockedLayersForFind:false, includeHiddenLayers:false, includeMasterPages:false, includeFootnotes:false, wholeWord:false, caseSensitive:false}"; // replace Normal paragraph Word style with Body Text
        myChangesArray[3] = "text    {appliedParagraphStyle:\"CallOut\"}    {appliedParagraphStyle:\"Callout\", changeConditionsMode:1919250519}    {includeLockedStoriesForFind:false, includeLockedLayersForFind:false, includeHiddenLayers:false, includeMasterPages:false, includeFootnotes:false, wholeWord:false, caseSensitive:true}"; // replace CallOut Word style with Callout
        myChangesArray[4] = "text    {appliedParagraphStyle:\"Normal Indent\"}    {appliedParagraphStyle:\"Body Text indent\", changeConditionsMode:1919250519}    {includeLockedStoriesForFind:false, includeLockedLayersForFind:false, includeHiddenLayers:false, includeMasterPages:false, includeFootnotes:false, wholeWord:false, caseSensitive:true}"; //replace Normal Indent Word style to Body Text indent
        myChangesArray[5] = "text    {appliedParagraphStyle:\"Body Text\", fontStyle:\"Italic\"}    {appliedCharacterStyle:\"Italic\"}    {includeLockedStoriesForFind:false, includeLockedLayersForFind:false, includeHiddenLayers:false, includeMasterPages:false, includeFootnotes:false, wholeWord:false, caseSensitive:false, kanaSensitive:true, widthSensitive:true, ignoreKashidas:true, ignoreDiacritics:false}"; //replace direct formatted body text italic with character style
        myChangesArray[6] = "text    {appliedParagraphStyle:\"Body Text\", fontStyle:\"Bold\"}    {appliedCharacterStyle:\"Bold\"}    {includeLockedStoriesForFind:false, includeLockedLayersForFind:false, includeHiddenLayers:false, includeMasterPages:false, includeFootnotes:false, wholeWord:false, caseSensitive:false, kanaSensitive:true, widthSensitive:true, ignoreKashidas:true, ignoreDiacritics:false}"; //replace direct formatted body text bold with character style
        myChangesArray[7] = "text    {appliedParagraphStyle:\"Body Text\", fontStyle:\"Bold Italic\"}    {appliedCharacterStyle:\"Byline\"}    {includeLockedStoriesForFind:false, includeLockedLayersForFind:false, includeHiddenLayers:false, includeMasterPages:false, includeFootnotes:false, wholeWord:false, caseSensitive:false, kanaSensitive:true, widthSensitive:true, ignoreKashidas:true, ignoreDiacritics:false}"; //replace direct formatted body text bold italic with Byline character style
        myChangesArray[8] = "text    {findWhat:\" -- \"}    {changeTo:\"^_\"}    {includeLockedStoriesForFind:false, includeLockedLayersForFind:false, includeHiddenLayers:false, includeMasterPages:false, includeFootnotes:false, wholeWord:false, caseSensitive:false, kanaSensitive:true, widthSensitive:true, ignoreKashidas:true, ignoreDiacritics:false}"; //replace space dash dash space with em dash, no spaces
        myChangesArray[9] = "text    {findWhat:\"--\"}    {changeTo:\"^_\"}    {includeLockedStoriesForFind:false, includeLockedLayersForFind:false, includeHiddenLayers:false, includeMasterPages:false, includeFootnotes:false, wholeWord:false, caseSensitive:false, kanaSensitive:true, widthSensitive:true, ignoreKashidas:true, ignoreDiacritics:false}"; //replace space dash dash space with em dash, no spaces
        myChangesArray[10] ="text    {findWhat:\"  \"}    {changeTo:\" \"}    {includeLockedStoriesForFind:false, includeLockedLayersForFind:false, includeHiddenLayers:false, includeMasterPages:false, includeFootnotes:false, wholeWord:false, caseSensitive:false, kanaSensitive:true, widthSensitive:true, ignoreKashidas:true, ignoreDiacritics:false}"; //replace double spaces with single space
        myChangesArray[11] ="text    {findWhat:\"^p^p\"}    {changeTo:\"^p\"}    {includeLockedStoriesForFind:false, includeLockedLayersForFind:false, includeHiddenLayers:false, includeMasterPages:false, includeFootnotes:false, wholeWord:false, caseSensitive:false, kanaSensitive:true, widthSensitive:true, ignoreKashidas:true, ignoreDiacritics:false}"; //Nix double paragraph markers
        // section to put in headline jump reference bullets
        myChangesArray[12] ="grep    {findWhat:\"\\\\>  ?(from \\\\[\\\\d\\\\d?\\\\])\\\\s?\\\\s?$\"}    {changeTo:\" ~8 $1\"}    {includeLockedStoriesForFind:false, includeLockedLayersForFind:false, includeHiddenLayers:false, includeMasterPages:false, includeFootnotes:true, kanaSensitive:true, widthSensitive:true}"//add bullet before end of word, replace space (optional space) 'from [' digit optional digit ']' optional space optional space end of paragraph with space bullet space + the rest
        // Changes any imported paragraph styles to Body Text, imported character styles to None, nukes imported
        findChangeByArray(docRef, myChangesArray)
        removeImportedStyles(docRef);
        // clear overrides, both character & paragraph
        // first set what paragraphs to check
        stylesRE = new RegExp(/Body |Heading /)
        for (i = 0; i < docRef.stories.length; i++) {
            //only mess with stories with a bunch of paragraphs & only paragraphs of Body* or Heading* styles
            if (docRef.stories[i].paragraphs.length > 1) {
                for ( p=0; p < docRef.stories[i].paragraphs.length; p++){
                    if (docRef.stories[i].paragraphs[p].appliedParagraphStyle.name.match(stylesRE)) {
                        docRef.stories[i].paragraphs[p].clearOverrides(OverrideType.ALL);
    function clearFindChangePrefs(){
        //find/change text preferences
        app.findTextPreferences = null;
        app.changeTextPreferences = null;
        //find/change grep preferences
        app.findGrepPreferences = null;
        app.changeGrepPreferences = null;
        //find/change glyph preferences
        app.findGlyphPreferences = null;
        app.changeGlyphPreferences = null;
    function findChangeByArray(myObject, myChangesArray){
        //a shorter version of the supplied FindChangeByList.jsx to allow internalizing search strings
        // Note search strings passed MUST be enclosed in quotes with all internal backslashes & quotes escaped,
        // esp. important for GREP, e.g.: \\ becomes \\\\, findWhat:"( becomes findWhat:\"(
        var myFindChangeArray, myFindType, myFindPreferences, myChangePreferences, myFindChangeOptions, i;
        var myStyles, s, stylesRE, searchOK;
        // Prepare to trap for non-existant styles
        // get a list of pipe-separated styles, but not the default styles in brackets, since they'll screw up a RegExp pattern
        for (var s = myObject.paragraphStyles.length-1; s >= 2; s--) {
             myStyles = myObject.paragraphStyles[s].name + "|" + myStyles;
         stylesRE = new RegExp(myStyles);
        for (i = 0; i < myChangesArray.length; i++) {
            myFindChangeArray = myChangesArray[i].split("\t");
            //The first field in the line is the findType string.
            myFindType = myFindChangeArray[0];
            //The second field in the line is the FindPreferences string.
            myFindPreferences = myFindChangeArray[1];
            // Trap to ensure the style exists
            //The second field in the line is the ChangePreferences string.
            myChangePreferences = myFindChangeArray[2];
            //The fourth field is the range--used only by text find/change.
            myFindChangeOptions = myFindChangeArray[3];
            // Trap for non-existant paragraph styles; ID will choke on searching for a style not in doc
            // Look for paragraph style in find string
            if (myFindPreferences.match(/appliedParagraphStyle/)){
                // & that the search is for a style existing in the document
                if (!myFindPreferences.match(stylesRE)){
                    continue;
            switch(myFindType){
                case "text":
                    myFindText(myObject, myFindPreferences, myChangePreferences, myFindChangeOptions);
                    break;
                case "grep":
                    myFindGrep(myObject, myFindPreferences, myChangePreferences, myFindChangeOptions);
                    break;
                case "glyph":
                    myFindGlyph(myObject, myFindPreferences, myChangePreferences, myFindChangeOptions);
                    break;
    function myFindText(myObject, myFindPreferences, myChangePreferences, myFindChangeOptions){
        //Reset the find/change preferences before each search.
        app.changeTextPreferences = null;
        app.findTextPreferences = null;
        var myString = "app.findTextPreferences.properties = "+ myFindPreferences + ";";
        myString += "app.changeTextPreferences.properties = " + myChangePreferences + ";";
        myString += "app.findChangeTextOptions.properties = " + myFindChangeOptions + ";";
        app.doScript(myString, ScriptLanguage.javascript);
        myFoundItems = myObject.changeText();
        //Reset the find/change preferences after each search.
        app.changeTextPreferences = null;
        app.findTextPreferences = null;
    function myFindGrep(myObject, myFindPreferences, myChangePreferences, myFindChangeOptions){
        //Reset the find/change grep preferences before each search.
        app.changeGrepPreferences = null;
        app.findGrepPreferences = null;
        var myString = "app.findGrepPreferences.properties = "+ myFindPreferences + ";";
        myString += "app.changeGrepPreferences.properties = " + myChangePreferences + ";";
        myString += "app.findChangeGrepOptions.properties = " + myFindChangeOptions + ";";
        app.doScript(myString, ScriptLanguage.javascript);
        var myFoundItems = myObject.changeGrep();
        //Reset the find/change grep preferences after each search.
        app.changeGrepPreferences = null;
        app.findGrepPreferences = null;
    function myFindGlyph(myObject, myFindPreferences, myChangePreferences, myFindChangeOptions){
        //Reset the find/change glyph preferences before each search.
        app.changeGlyphPreferences = null;
        app.findGlyphPreferences = null;
        var myString = "app.findGlyphPreferences.properties = "+ myFindPreferences + ";";
        myString += "app.changeGlyphPreferences.properties = " + myChangePreferences + ";";
        myString += "app.findChangeGlyphOptions.properties = " + myFindChangeOptions + ";";
        app.doScript(myString, ScriptLanguage.javascript);
        var myFoundItems = myObject.changeGlyph();
        //Reset the find/change glyph preferences after each search.
        app.changeGlyphPreferences = null;
        app.findGlyphPreferences = null;
    function removeImportedStyles(docRef){
        // Changes any imported paragraph styles to Body Text, imported character styles to None, nukes imported
       var paraStyle = docRef.paragraphStyles.item("Body Text");
       var noneCharStyle = docRef.characterStyles.item("[None]");
       for(var myCounter = docRef.paragraphStyles.length-1; myCounter >= 2; myCounter--){
         if (docRef.paragraphStyles[myCounter].imported == true ) {
            docRef.paragraphStyles[myCounter].remove(paraStyle); //Replaces w/paraStyle
       for(var myCounter = docRef.characterStyles.length-1; myCounter >= 2; myCounter--){
         if (docRef.characterStyles[myCounter].imported == true) {
            docRef.characterStyles[myCounter].remove(noneCharStyle);
    function formatTaggedCharacters(docRef, fontTag, characterStyle){
        // Searches docRef for text between <fontTag> </fontTag> tags & applies characterStyle
        // then removes the fontTags.
        // For characterStyle = Byline, If found text is greater than jumpTextLen in length, apply jumpTextCharStyle instead
        // First verify the passed charstyle exists...
        // use your standard GREP search & replace
        app.changeGrepPreferences = null;
        app.findGrepPreferences = null;
        // note ? mark in following GREP search string, the non-greedy modifier. Thanks Jongware!
        var myString = "app.findGrepPreferences.properties = {findWhat:\"<"+ fontTag + ">(.*?)<\/" + fontTag + ">\"};";
        myString += "app.changeGrepPreferences.properties = {changeTo:\"$1\", appliedCharacterStyle:\""+characterStyle+"\"};";
        myString += "app.findChangeGrepOptions.properties = {includeLockedStoriesForFind:false, includeLockedLayersForFind:false, includeHiddenLayers:false, includeMasterPages:false, includeFootnotes:true};";
        app.doScript(myString, ScriptLanguage.javascript);
        var myFoundItems = docRef.changeGrep();
        //Reset the find/change grep preferences after each search.
        app.changeGrepPreferences = null;
        app.findGrepPreferences = null;
        //OK, the tags are still there, so wipe 'em
        removeTag(docRef, fontTag);
    function removeTag(docRef, fontTag){
        // Use a GREP search to replace the given tag in docRef; don't mess with styles, as that should've been handled already
        // Reset the find/change grep preferences before each search.
        app.changeGrepPreferences = null;
        app.findGrepPreferences = null;
        var myString = "app.findGrepPreferences.properties = {findWhat:\"<"+ fontTag + ">(.*)<\/" + fontTag + ">\"};";
        myString += "app.changeGrepPreferences.properties = {changeTo:\"$1\"};";
        myString += "app.findChangeGrepOptions.properties = {includeLockedStoriesForFind:false, includeLockedLayersForFind:false, includeHiddenLayers:false, includeMasterPages:false, includeFootnotes:true};";
        app.doScript(myString, ScriptLanguage.javascript);
        var myFoundItems = docRef.changeGrep();
        //Reset the find/change grep preferences after each search.
        app.changeGrepPreferences = null;
        app.findGrepPreferences = null;
    function formatJumpLines(docRef, jumpLineChars, jumpTextCharStyle){
        //  Since previous convertWordStyles() changes all bold italic styled text to Byline char style, change any that are
        //  >jumpLineChars to 'Body jump text' style.
            app.changeTextPreferences = null;
            app.findTextPreferences = null;
            var myString = "app.findTextPreferences.properties = {appliedCharacterStyle:\"Byline\"};";
            myString += "app.findChangeTextOptions.properties = {includeLockedStoriesForFind:false, includeLockedLayersForFind:false, includeHiddenLayers:false, includeMasterPages:false, includeFootnotes:false};";
            app.doScript(myString, ScriptLanguage.javascript);
            var myFoundItems = docRef.findText();
            //Reset the find/change text preferences after each search.
            app.changeTextPreferences = null;
            app.findTextPreferences = null;
            //Note: best to iterate from the end forward, avoiding any potential insertion point skew
            for(i=myFoundItems.length-1; i>-1; i--){
                if (myFoundItems[i].length > jumpLineChars){
                    myFoundItems[i].appliedCharacterStyle = jumpTextCharStyle;

Maybe you are looking for