From 99246dd6dc3162497eb98c4a73cbea9cce7b3c2b Mon Sep 17 00:00:00 2001
From: Bob Vincent <bobvin@pillars.net>
Date: Wed, 16 Mar 2011 17:57:11 -0400
Subject: [PATCH] http://drupal.org/node/1095278

---
 transliteration.module |   52 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 52 insertions(+), 0 deletions(-)

diff --git a/transliteration.module b/transliteration.module
index 2c71a2f..41b59db 100644
--- a/transliteration.module
+++ b/transliteration.module
@@ -142,3 +142,55 @@ function transliteration_init() {
   }
 }
 
+/**
+ * Implements hook_filter_info().
+ */
+function transliteration_filter_info() {
+  return array(
+    'filter_transliteration' => array(
+      'title' => t('Transliteration'),
+      'description'=> t('Convert non-latin text to US-ASCII equivalents.'),
+      'default settings' => array('unknown' => '?'),
+      'process callback' => '_filter_transliteration_process',
+      'settings callback' => '_filter_transliteration_settings',
+      'tips callback' => '_filter_transliteration_tips',
+    ),
+  );
+}
+
+/**
+ * Implements hook_filter_FILTER_process().
+ * @see transliteration_filter_info()
+ */
+function _filter_transliteration_process($text, $filter, $format, $langcode, $cache, $cache_id) {
+  return transliteration_get($text, $filter->settings['unknown'], $langcode);
+}
+
+/**
+ * Implements hook_filter_FILTER_settings().
+ * @see transliteration_filter_info()
+ */
+function _filter_transliteration_settings($form, &$form_state, $filter, $format, $defaults, $filters) {
+  $filter->settings += $defaults;
+  return array(
+    'unknown' => array(
+      '#type' => 'textfield',
+      '#title' => t('Unknown'),
+      '#title_display' => 'invisible',
+      '#field_prefix' => t('Replace non-ASCII characters with '),
+      '#field_suffix' => t(' if there is no suitable ASCII equivalent.'),
+      '#size' => 2,
+      '#maxlength' => 5,
+      '#attributes' => array('style' => 'width: 1em'),
+      '#default_value' => $filter->settings['unknown'],
+    )
+  );
+}
+
+/**
+ * Implements hook_filter_FILTER_tips().
+ * @see transliteration_filter_info()
+ */
+function _filter_transliteration_tips($filter, $format, $long) {
+  return t('Non-latin text will be converted to US-ASCII equivalents.');
+}
-- 
1.7.1

