diff plugins/xxfontchng.py @ 0:4385a7d0efd1 grumpy-goblin

Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
author sirebral
date Tue, 14 Jul 2009 16:41:58 -0500
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/xxfontchng.py	Tue Jul 14 16:41:58 2009 -0500
@@ -0,0 +1,93 @@
+import os
+import orpg.pluginhandler
+
+class Plugin(orpg.pluginhandler.PluginHandler):
+    # Initialization subroutine.
+    #
+    # !self : instance of self
+    # !chat : instance of the chat window to write to
+    def __init__(self, plugindb, parent):
+        orpg.pluginhandler.PluginHandler.__init__(self, plugindb, parent)
+
+
+        # The Following code should be edited to contain the proper information
+        self.name = 'Font Tools'
+        self.author = 'mDuo13'
+        self.help = "You can change your font in chat by typing '/myfont *key*'\n"
+        self.help += "where *key* is this plugin's shorthand for a font, like 'c'\n"
+        self.help += "for Courier. You can type /myfont list for the whole list.\n"
+        self.help += "You can use another font by typing '/myfont custom=*name*', where\n"
+        self.help += "*name* is the EXACT name of the font, case-sensitive and all.\n"
+        self.help += "Font resizing is no longer supported by the plugin as it is in\n"
+        self.help += "the official code now. (Try typing '/fontsize *x*' to change your\n"
+        self.help += "font to size *x*.)"
+        #define any variables here, but always define them as ''. you will set thier values and proper type in plugin_enabled
+        self.fontstring = ''
+        self.fontlist = {}
+
+    def plugin_enabled(self):
+        #This is where you set any variables that need to be initalized when your plugin starts
+        #You can add new /commands like
+        self.plugin_addcommand('/myfont', self.on_myfont, '[list|custom (fontname)|fontname] - This lets you change the font type for your messages, but leaves other peoples alone')
+        #Argument 1 is the command it self
+        #Argument 2 is the function to be called when you issue the command
+        #Argument 3 is the help text for the command
+
+        self.fontstring = self.plugindb.GetString("xxfontchng", "fontstring", "")
+        self.fontlist = {"a" : "<font>",
+                        "arial" : "<font>",
+                        "c" : "<font face='Courier New, Courier, monospace'>",
+                        "courier" : "<font face='Courier New, Courier, monospace'>",
+                        "t" : "<font face='Times New Roman, Times, serif'>",
+                        "times" : "<font face='Times New Roman, Times, serif'>",
+                        "tempus" : "<font face='Tempus Sans ITC'>",
+                        "westminster" : "<font face='Westminster' size=+1>",
+                        "mistral" : "<font face='Mistral' size=+2>",
+                        "lucida sans" : "<font face='Lucida Sans'>",
+                        "lucida handwriting" : "<font face='Lucida Handwriting'>",
+                        "western" : "<font face='Rockwell'>",
+                        "rockwell" : "<font face='Rockwell'>"}
+
+    def plugin_disabled(self):
+        self.plugin_removecmd('/myfont')
+
+    def on_myfont(self, cmdargs):
+        args = cmdargs.split(None,1)
+
+        if len(args) == 0 or args[0] == 'list':
+            the_list = ''
+            for entry in self.fontlist.keys():
+                the_list += '<br />' + self.fontlist[entry] + entry + '</font>'
+            the_list += '<br />custom *anyfont*'
+            self.chat.InfoPost(the_list)
+        elif args[0] == 'custom':
+            self.fontstring = '<font face="' + args[1] + '">'
+        elif self.fontlist.has_key(args[0]):
+            self.fontstring = self.fontlist[args[0]]
+            self.chat.InfoPost("Your font now looks " + self.fontstring + "like this.</font>")
+            self.plugindb.SetString("xxfontchng", "fontstring", self.fontstring)
+        else:
+            self.chat.InfoPost("Invalid font name. Type /myfont list for a list of font names, or use custom preceding the font name")
+
+    def pre_parse(self, text):
+        #This is called just before a message is parsed by openrpg
+        cmdsearch = text.split(None,1)
+        if len(cmdsearch) == 0:
+            return text
+        cmd = cmdsearch[0].lower()
+        start = len(cmd)
+        end = len(text)
+        cmdargs = text[start:end]
+
+        if cmd == "/whisper" or cmd == "/w":
+            text = cmd + ' ' + cmdargs[:cmdargs.find("=")+1] + self.fontstring + cmdargs + '</font>'
+        elif cmd == "/me" or cmd == "/he" or cmd == "/she":
+            text = cmd + ' ' + self.fontstring + cmdargs + '</font>'
+        elif cmd[0] != '/':
+            text = self.fontstring + text + '</font>'
+        return text
+
+    def send_msg(self, text, send):
+        if self.fontstring.find("<font") > -1:
+            text = self.fontstring + text + '</font>'
+        return text, send