World Library  
Flag as Inappropriate
Email this Article

Yantra tattooing

Article Id: WHEBN0009254540
Reproduction Date:

Title: Yantra tattooing  
Author: World Heritage Encyclopedia
Language: English
Subject: Thai folklore, Tattoo, Kuman Thong, Yadaya, Legal status of tattooing in the European Union
Collection: Buddhist Practices, Cambodian Culture, Tattooing, Tattooing Traditions, Thai Folklore
Publisher: World Heritage Encyclopedia
Publication
Date:
 

Yantra tattooing

A simple sak yant nine spire (kao yot) tattoo

Yantra tattooing, also called sak yant or sak yan (}

}}: สักยันต์ sạk yạnť,[1] }

}}: សាក់យ័ន្ត, }

}}: တက်တူးထိုး), is a form of tattooing that originated from ancient Southeast Asia. It consists of sacred geometrical, animal and deity designs accompanied by Pali phrases that offer power, protection, fortune, charisma and other benefits for the bearer. Today it is practiced in Thailand and Myanmar, and to a much lesser extent in Laos and Cambodia. The practice has also begun to grow in popularity among Chinese Buddhists in Singapore.[2] Sak means tattoo in Thai, and yant is the Thai pronunciation for the Sanskrit word yantra,[3] a type of mystical diagram used in Dharmic religions.[4]

Sak yant designs are normally tattooed by ruesi (the Thai form of rishi), wicha (magic) practitioners, and Buddhist monks, traditionally with a long metal rod sharpened to a point (called a khem sak).[5]

Contents

  • History 1
  • Meaning 2
  • Types and designs 3
  • Locations 4
  • Backlash 5
  • Gallery 6
  • References 7
  • External links 8
  • Further reading 9
  • See also 10

History

Tattoos believed to offer protection and other benefits have been recorded everywhere throughout both mainland Southeast Asia and as far south as Indonesia and the Philippines.[6] Chinese chronicles describe yantra tattooing among the Tai cultures of southwestern China and northwestern Vietnam at least 2,000 years ago. Over the centuries the tradition spread to what is now Cambodia, Laos, Thailand, and parts of Myanmar.[7] While the tradition itself originates with indigenous tribal animism, it became closely tied to the Hindu-Buddhist concept of yantra or mystical geometric patterns used during meditation. Tattoos of yantra designs were believed to hold magic power, and were used much like the kolam tattoos of India. For these people, religion is closely tied to the notion of magic, health, and good fortune.[8]

The script used for yantra designs varies according to culture and geography. In Cambodia and central Thailand, Khmer script is used, while in northern Thailand one sees yantra tattoos bearing Shan, northern Thai, or Tai Lu scripts, and in Laos the Lao Tham script is employed.[9] The script spells out abbreviated syllables from Pali incantations. Different masters have added to these designs over the centuries through visions received in their meditations. Some yantra designs have been adapted from pre-Buddhist shamanism and the belief in animal spirits that was found in Southeast Asia and incorporated into Thai tradition and culture.

Meaning

Yantra tattoos are believed to be magic and bestow mystical powers, protection, or good luck.[5] There are three main effects of a yantra tattoo. One is that which benefits the wearer, such as making them more eloquent. Another is that of protection and to ward off evil and hardship. This is commonly used by military personnel, police, taxi drivers, gangsters and others in perceived dangerous professions. Another type is that which affects people around the wearer, such as invoking fear. The tattoo only confers its powers so long as the bearer observes certain rules and taboos, such as abstaining from a certain type of food.[6]

It is believed that the power of sacred tattoos decreases with time. So to re-empower them each year, sak yant masters celebrate with their devotees the Wai Khru ritual. Wai khru means "pay homage to one's guru". In Thailand, the most impressive Wai Khru is held at the temple of Wat Bang Phra.[10]

Sak yant designs are also applied to many other media, such as cloth or metal, and placed in one's house, place of worship, or vehicle as a means of protectionrequire('Module:No globals')

local p = {}

-- articles in which traditional Chinese preceeds simplified Chinese local t1st = { ["228 Incident"] = true, ["Chinese calendar"] = true, ["Lippo Centre, Hong Kong"] = true, ["Republic of China"] = true, ["Republic of China at the 1924 Summer Olympics"] = true, ["Taiwan"] = true, ["Taiwan (island)"] = true, ["Taiwan Province"] = true, ["Wei Boyang"] = true, }

-- the labels for each part local labels = { ["c"] = "Chinese", ["s"] = "simplified Chinese", ["t"] = "traditional Chinese", ["p"] = "pinyin", ["tp"] = "Tongyong Pinyin", ["w"] = "Wade–Giles", ["j"] = "Jyutping", ["cy"] = "Cantonese Yale", ["poj"] = "Pe̍h-ōe-jī", ["zhu"] = "Zhuyin Fuhao", ["l"] = "literally", }

-- article titles for wikilinks for each part local wlinks = { ["c"] = "Chinese language", ["s"] = "simplified Chinese characters", ["t"] = "traditional Chinese characters", ["p"] = "pinyin", ["tp"] = "Tongyong Pinyin", ["w"] = "Wade–Giles", ["j"] = "Jyutping", ["cy"] = "Yale romanization of Cantonese", ["poj"] = "Pe̍h-ōe-jī", ["zhu"] = "Bopomofo", }

-- for those parts which are to be treated as languages their ISO code local ISOlang = { ["c"] = "zh", ["t"] = "zh-Hant", ["s"] = "zh-Hans", ["p"] = "zh-Latn-pinyin", ["tp"] = "zh-Latn", ["w"] = "zh-Latn-wadegile", ["j"] = "yue-jyutping", ["cy"] = "yue", ["poj"] = "hak", ["zhu"] = "zh-Bopo", }

local italic = { ["p"] = true, ["tp"] = true, ["w"] = true, ["j"] = true, ["cy"] = true, ["poj"] = true, } -- Categories for different kinds of Chinese text local cats = { ["c"] = "", ["s"] = "", ["t"] = "", }

function p.Zh(frame) -- load arguments module to simplify handling of args local getArgs = require('Module:Arguments').getArgs local args = getArgs(frame) return p._Zh(args) end function p._Zh(args) local uselinks = not (args["links"] == "no") -- whether to add links local uselabels = not (args["labels"] == "no") -- whether to have labels local capfirst = args["scase"] ~= nil

        local t1 = false -- whether traditional Chinese characters go first
        local j1 = false -- whether Cantonese Romanisations go first
        local testChar
        if (args["first"]) then
                 for testChar in mw.ustring.gmatch(args["first"], "%a+") do
          if (testChar == "t") then
           t1 = true
           end
          if (testChar == "j") then
           j1 = true
           end
         end
        end
        if (t1 == false) then
         local title = mw.title.getCurrentTitle()
         t1 = t1st[title.text] == true
        end

-- based on setting/preference specify order local orderlist = {"c", "s", "t", "p", "tp", "w", "j", "cy", "poj", "zhu", "l"} if (t1) then orderlist[2] = "t" orderlist[3] = "s" end if (j1) then orderlist[4] = "j" orderlist[5] = "cy" orderlist[6] = "p" orderlist[7] = "tp" orderlist[8] = "w" end -- rename rules. Rules to change parameters and labels based on other parameters if args["hp"] then -- hp an alias for p ([hanyu] pinyin) args["p"] = args["hp"] end if args["tp"] then -- if also Tongyu pinyin use full name for Hanyu pinyin labels["p"] = "Hanyu Pinyin" end if (args["s"] and args["s"] == args["t"]) then -- Treat simplified + traditional as Chinese if they're the same args["c"] = args["s"] args["s"] = nil args["t"] = nil elseif (not (args["s"] and args["t"])) then -- use short label if only one of simplified and traditional labels["s"] = labels["c"] labels["t"] = labels["c"] end local body = "" -- the output string local params -- for creating HTML spans local label -- the label, i.e. the bit preceeding the supplied text local val -- the supplied text -- go through all possible fields in loop, adding them to the output for i, part in ipairs(orderlist) do if (args[part]) then -- build label label = "" if (uselabels) then label = labels[part] if (capfirst) then label = mw.language.getContentLanguage():ucfirst( from danger or illness, to increase wealth, and to attract lovers. In recent years Hollywood celebrities such as Angelina Jolie have made them popular among women.require('Module:No globals')

local p = {}

-- articles in which traditional Chinese preceeds simplified Chinese local t1st = { ["228 Incident"] = true, ["Chinese calendar"] = true, ["Lippo Centre, Hong Kong"] = true, ["Republic of China"] = true, ["Republic of China at the 1924 Summer Olympics"] = true, ["Taiwan"] = true, ["Taiwan (island)"] = true, ["Taiwan Province"] = true, ["Wei Boyang"] = true, }

-- the labels for each part local labels = { ["c"] = "Chinese", ["s"] = "simplified Chinese", ["t"] = "traditional Chinese", ["p"] = "pinyin", ["tp"] = "Tongyong Pinyin", ["w"] = "Wade–Giles", ["j"] = "Jyutping", ["cy"] = "Cantonese Yale", ["poj"] = "Pe̍h-ōe-jī", ["zhu"] = "Zhuyin Fuhao", ["l"] = "literally", }

-- article titles for wikilinks for each part local wlinks = { ["c"] = "Chinese language", ["s"] = "simplified Chinese characters", ["t"] = "traditional Chinese characters", ["p"] = "pinyin", ["tp"] = "Tongyong Pinyin", ["w"] = "Wade–Giles", ["j"] = "Jyutping", ["cy"] = "Yale romanization of Cantonese", ["poj"] = "Pe̍h-ōe-jī", ["zhu"] = "Bopomofo", }

-- for those parts which are to be treated as languages their ISO code local ISOlang = { ["c"] = "zh", ["t"] = "zh-Hant", ["s"] = "zh-Hans", ["p"] = "zh-Latn-pinyin", ["tp"] = "zh-Latn", ["w"] = "zh-Latn-wadegile", ["j"] = "yue-jyutping", ["cy"] = "yue", ["poj"] = "hak", ["zhu"] = "zh-Bopo", }

local italic = { ["p"] = true, ["tp"] = true, ["w"] = true, ["j"] = true, ["cy"] = true, ["poj"] = true, } -- Categories for different kinds of Chinese text local cats = { ["c"] = "", ["s"] = "", ["t"] = "", }

function p.Zh(frame) -- load arguments module to simplify handling of args local getArgs = require('Module:Arguments').getArgs local args = getArgs(frame) return p._Zh(args) end function p._Zh(args) local uselinks = not (args["links"] == "no") -- whether to add links local uselabels = not (args["labels"] == "no") -- whether to have labels local capfirst = args["scase"] ~= nil

        local t1 = false -- whether traditional Chinese characters go first
        local j1 = false -- whether Cantonese Romanisations go first
        local testChar
        if (args["first"]) then
                 for testChar in mw.ustring.gmatch(args["first"], "%a+") do
          if (testChar == "t") then
           t1 = true
           end
          if (testChar == "j") then
           j1 = true
           end
         end
        end
        if (t1 == false) then
         local title = mw.title.getCurrentTitle()
         t1 = t1st[title.text] == true
        end

-- based on setting/preference specify order local orderlist = {"c", "s", "t", "p", "tp", "w", "j", "cy", "poj", "zhu", "l"} if (t1) then orderlist[2] = "t" orderlist[3] = "s" end if (j1) then orderlist[4] = "j" orderlist[5] = "cy" orderlist[6] = "p" orderlist[7] = "tp" orderlist[8] = "w" end -- rename rules. Rules to change parameters and labels based on other parameters if args["hp"] then -- hp an alias for p ([hanyu] pinyin) args["p"] = args["hp"] end if args["tp"] then -- if also Tongyu pinyin use full name for Hanyu pinyin labels["p"] = "Hanyu Pinyin" end if (args["s"] and args["s"] == args["t"]) then -- Treat simplified + traditional as Chinese if they're the same args["c"] = args["s"] args["s"] = nil args["t"] = nil elseif (not (args["s"] and args["t"])) then -- use short label if only one of simplified and traditional labels["s"] = labels["c"] labels["t"] = labels["c"] end local body = "" -- the output string local params -- for creating HTML spans local label -- the label, i.e. the bit preceeding the supplied text local val -- the supplied text -- go through all possible fields in loop, adding them to the output for i, part in ipairs(orderlist) do if (args[part]) then -- build label label = "" if (uselabels) then label = labels[part] if (capfirst) then label = mw.language.getContentLanguage():ucfirst(

Types and designs

There are many traditional types and designs of yantra tattoos, but some of the most well-known and popular include:

  • Ohng Phra (}

    }}: องค์พระ translation: Buddha's body) - one of the most commonly used elements in Yantra tattooing, but can also be a more complex standalone design. Meant to provide insight, guidance, illumination, etc.

    • Ha-thaeo (}

      }}: ห้าแถว translation: five rows) - Typically tattooed on the back left shoulder. Each of the five lines relates to a different blessing for success and good luck.

      • Kao-yot (}

        }}: เก้ายอด translation: nine spires) - typically tattooed on the center top of the back in various sizes and levels of complexity. Simple version pictured at the top of this article.

        • Si-yot (}

          }}: สี่ยอด translation: four spires) - to influence the feelings or actions of others and protect the bearer.

          • Paet-thit (}

            }}: แปดทิศ translation: eight points) - represents protection in the eight directions of the universe. Round shape; typically tattooed on the center of the back. Pictured in gallery below.

            • Sip-thit }

              }}: สิบทิศ(translation: ten points) - a version of paet-thit, but protects in ten directions instead of eight.

              • Mahaaniyohm (}

                }}: มหานิยม (translation: great preference) - to grant the bearer favor in the eyes of others. Round shape; typically placed on the back right shoulder.[11]

                • Yot Mohnggoot (}

                  }}: ยอดมงกุฎ translation: spired crown) - for good fortune and protection in battle. Round shape; typically tattooed on the top of the head.

                  • Bpanjamukhee (translation: five Deva faces) - intended to ward off illness and danger.[12]
                  • Suea (}

                    }}: เสือ translation: tiger) - typically depicts twin tigers. Represents power and authority.

                    Locations

                    Many internet sites recommend Thailand as the place to attain the most refined ritual tattoos and consider the country as the most popular for learning this art. Every year, hundreds of foreigners in search of original and magical tattoos come to Thailand to have their tattoos done.[13] In Southeast Asia, Thailand is by far the country with the highest number of devotees.

                    • One well-known temple in northern Thailand is Wat Nhong Khem (khem means needle).[14] It is in San Patong just outside Chiang Mai and was home to the late sak yant master Phra Ajaan Gamtawn, who died in Chiang Mai on 14 September 2010. This temple no longer applies tattoos.[15]
                    • In the Lum Phli area on the north side of Ayutthaya, Ajaan Kob and his son, Ajaan Oh, are well-known sak yant masters.

                    Backlash

                    While tattoos in the west are largely a matter of aesthetics, in Thailand they are imbued with both spirituality and superstition. The designs, lines of script, geometric patterns and animal shapes, are deeply interwoven with Buddhist and animist imagery that some Thais fear Westerners fail to appreciate. Tattoos of religious deities are problematic, especially if they are below the waist. In Southeast Asian culture, the head is the most sacred part of the body. The further down the body, the less sacred, and foreigners with religious figures inked on their legs have caused upset. On the main highway into Bangkok from the city's Suvarnabhumi Airport, 15-metre-wide billboards declare "It's wrong to use Buddha as a decoration or tattoo". Some groups want a complete ban on any tattoos of religious figures.[16]

                    Gallery

                    References


                    -- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


                    local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

                    local p = {}


                    -- Helper functions


                    local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

                    local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

                    function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

                    function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

                    function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

                    function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


                    -- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


                    function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

                    function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


                    -- Hatnote -- -- Produces standard hatnote text. Implements the template.


                    function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

                    function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
                    %s
                    ', table.concat(classes, ' '), s )

                    end

                    return p-------------------------------------------------------------------------------- -- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


                    local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

                    local p = {}


                    -- Helper functions


                    local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

                    local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

                    function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

                    function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

                    function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

                    function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


                    -- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


                    function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

                    function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


                    -- Hatnote -- -- Produces standard hatnote text. Implements the template.


                    function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

                    function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
                    %s
                    ', table.concat(classes, ' '), s )

                    end

                    return p
                  • ^
                  • ^ http://www.buddhistchannel.tv/index.php?id=57,8938,0,0,1,0
                  • ^ http://www.sak-yant.com/archive/108yant/
                  • ^
                  • ^ a b http://www.thaiguidetothailand.com/magic-and-superstition/sak-yant-magic-tattoo/
                  • ^ a b
                  • ^ Cummings, Joe, (2011) Sacred Tattoos of Thailand: Exploring the Magic, Masters and Mystery of Sak Yan, Marshall Cavendish.
                  • ^ Drouyer, Isabel Azevedo; Drouyer, Rene, (2013) Thai Magic Tattoos, The Art and Influence of Sak Yant, Riverbooks editions.
                  • ^ http://www.sacredtattoosofthailand.com
                  • ^ Drouyer Isabel; Drouyer, Rene. Thai Magic Tattoos The Art and Influence of Sak Yant. River Books, 2013, p.99.
                  • ^ http://www.sak-yant.com/?page_id=2150
                  • ^ http://www.sak-yant.com/?page_id=2153
                  • ^ http://www.tattoos-tattoos.com/book-preview.html
                  • ^ http://northernthailand.com/a/en/chiangmai-cultural/tattoos/214-sak-yat-at-wat-kheam.html
                  • ^ http://www.thaiguidetothailand.com/magic-and-superstition/phra-ajarn-gamtorn-sak-yant-chiang-mai-r-i-p/
                  • ^
                  • External links

                    • AmuletForums | Discussion on Thai Spiritual Tattoos
                    • Tattoo Thailand | Info about Sak Yant, Yan Meanings, and List of Teachers
                    • Sak Yant Thai Khmer Buddhist Temple Tattoos
                    • Sak Yant: Magic Tattoo
                    • Sak Yant Foundation & Museum Project

                    Further reading

                    • Chean Rithy Men. "The Changing Religious Beliefs and Ritual Practices among Cambodians in Diaspora", in Journal of Refugee Studies. Vol. 15, No. 2 2002, pp 222–233.
                    • Cummings, Joe. Sacred Tattoos of Thailand: Exploring the Masters, Magic and Mystery of Sak Yan. Singapore, 2011.
                    • Drouyer, Isabel; Drouyer, Rene. Thai Magic Tattoos The Art And Influence of Sak Yant. Ed. River Books, 2013.
                    • Harris, Ian. Cambodian Buddhism: History and Practice. Honolulu, 2008.
                    • Igunma, Jana. "Human Body, Spirit and Disease; the Science of Healing in 19th century Buddhist Manuscripts from Thailand", in The Journal of the International Association of Buddhist Universities. Vol. 1, 2008, pp. 120–132.
                    • Rivers, Victoria Z. "Layers of Meaning: Embellished Cloth for Body and Soul", in Jasleen Dhamija, Asian Embroidery. New Delhi, 2004, pp. 45–66. ISBN 81-7017-450-3.
                    • Swearer, Donald K. Becoming the Buddha: the Ritual of Image Consecration in Thailand. Princeton, 2004.

                    See also

This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
 
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
 
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.
 


Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.