Please see my comment to the question. Essentially, it contains the answer, and the essence of this answer is: there is no such problem.
All your problem is: you just need some education. In this case, you have to learn just two additional things: 1) what is Unicode and what it does, how it's different from "encoding", 2) CSS.
Then you will simply enter all your text on the page in UTF, by the standard de-facto, UTF-8. You need to learn how is it related to Unicode:
FAQ - UTF-8, UTF-16, UTF-32 & BOM[
^],
Unicode Consortium[
^],
Unicode — Wikipedia, the free encyclopedia[
^],
Universal Coded Character Set — Wikipedia, the free encyclopedia[
^].
You enter in the same encoding all your Web page content, with no exclusion. UTF-8 is compatible with ASCII and ANSI, anyway. It's very important to prescribe the encoding in HTTP-EQUIV:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<!--
</html>
Now, let's see you need to use two different types of HTML element: "Joy" and "Punjabi". I'm sure what "Joy" is and cannot it be the same as Punjabi, but there are two different
writing systems used by Punjabi: Gurmukhī and Shahmukhi, both supported by Unicode. This is what you have to care about, not the language using the writing systems:
Gurmukhī alphabet — Wikipedia, the free encyclopedia[
^],
Shahmukhi alphabet — Wikipedia, the free encyclopedia[
^].
I'm not sure, but let's assume that "Joy" doesn't support any of these alphabets. Then you simply need to change the font for those different types of elements, which are called "classes" in CSS:
div.joy { font-family: "..."; }
and then in HTML you can have
<div class="joy"> <!-- </div>
And so on…
[EDIT #1]
I almost forgot: you cannot assume that all you users have all the exotic fonts installed, like your "joy". So, it comes to one unpleasant chore: you also may need to embed some fonts themselves in CSS. See, for example,
Using @font-face | CSS-Tricks[
^].
See also:
CSS Fonts Module Level 3[
^].
[EDIT #2]
See also my past answers on the topic:
How do i convert from ascii to unicode in C#[
^],
get UTF-8 char in WSDL NuSoap[
^],
unicode chr in arabic lang[
^],
Ascii to Unicode Converter[
^].
Also, one related answer, about the use of Microsoft Keyboard Creator and the possibility to craft any keyboard layout:
Problem in typing in Hindi and english[
^].
I provided some conceptual explanation of something fundamental about Unicode, something which perhaps wasn't properly explained:
About Unicode as one-to-one correspondence between abstract notions:
Unicode is a standard which defines formal one-to-one correspondence between "characters" understood as some cultural categories abstracted from their exact graphics (for example, Latin "A" and Cyrillic "А" are different characters, you can test it by using text search on this paragraph) and integer numbers, abstracted from their computer presentation like size and endianess. Despite of common wrong opinion, this is not 16-bit code as the range of "code points" presently standardized by Unicode goes far beyond the range which can fit in 16 bits (called Base Multilingual Plane, BMP). As there are different integer types, there are several different ways to represent Unicode text called UTFs.
One more view, with historical perspective, by Joel Spolsky:
http://www.joelonsoftware.com/articles/Unicode.html[
^].
—SA