Hi All,
i am designing a multilingual website (English / Kannada). I can display Kannada font in IE by using Microsoft WEFT. But it is not displaying properly in Firefox and other browsers. How can i solve this problem. Please help me.
Thanking you,
Vinith

Recommended Answers

All 26 Replies

You need to encode them using UTF encoding.

Member Avatar for ingeva

Hi All,
i am designing a multilingual website (English / Kannada). I can display Kannada font in IE by using Microsoft WEFT. But it is not displaying properly in Firefox and other browsers. How can i solve this problem.
Vinith

Windows doesn't support UTF-8 encoding very well, but that would be the way to go. I don't know the Kannada font, but like many other MS TrueType fonts it may not be complete.

I always use UTF-8 but I sometimes have problems with Windows, and especially Internet Explorer (7&8) not supporting Norwegian characters in filenames. It has cause a lot of problems.

The best solution would be to ditch Windows and IE altogether, but that's probably a bit unrealistic! :)

You can include the font file on your site, and reference it in the html, so that those browsers without native unicode for Kannada can get it from the font file
a list of fonts containing support for Kannada http://www.wazu.jp/gallery/Fonts_Kannada.html#samples from which you can download a font to your site
and

@font-face {
font-family: kannada;
src: url(resolved-path-to-downloaded-kannada-font.ttf);
}

in the css should permit access

Thank you so much for your help.
Iam using following code for include font

<style type="text/css" media="screen, print">
@font-face {
 font-family: BRH Kannada;
 src: local("BRH Kannada"), url("../fonts/brhknd.ttf") format("truetype");
}
body {
	font-family: "BRH Kannada", nudi_vedic_e;
}
 <!--[if IE 7]>  
@font-face {
 font-family: BRH Kannada;
 src: url("../fonts/BRHKANN0.eot");
}
 <!-- [endif] -->
</style>

I checked with IE7, Firefox, Opera, Chrome, Safri. But it is working only with Safari browser.

Member Avatar for ingeva

css" media="screen, print">
@font-face {
font-family: BRH Kannada;

Does if work better if you put quotes around "BRH Kannada" ?

Thank you. But it is not working
This is my modified code :


<style type="text/css" media="screen, print">
 @font-face 
 {
  font-family: "BRH Kannada";
  src: url("../fonts/brhknd.ttf") format("truetype");
 }
<!--[if IE 7]>  
	@font-face 
	{
		font-family: Times New Roman;
		font-style:  normal;
		font-weight: normal;
		src: url(../fonts/TIMESNE0.eot);
	}
	 @font-face 
	{
		font-family: BRH Kannada;
		font-style:  normal;
		font-weight: 700;
		src: url(../fonts/BRHKANN1.eot);
	}
	 @font-face 
	{
		font-family: BRH Kannada;
		font-style:  normal;
		font-weight: normal;
		src: url(../fonts/BRHKANN0.eot);
	}
	<!--[endif]-->
</style>[/B]

This is working perfectly with IE7 and Safari

It is not a good idea to use any special character in a filename, because some servers and Internet nodes don't know what to do with them. Stick to the US ASCII letters and numerals.

Member Avatar for ingeva

It is not a good idea to use any special character in a filename, because some servers and Internet nodes don't know what to do with them. Stick to the US ASCII letters and numerals.

There's a world outside of USA. If a system doesn't allow characters outside the limited ASCII set, it's the system that needs to be changed.

There's a world outside of USA. If a system doesn't allow characters outside the limited ASCII set, it's the system that needs to be changed.

The system dont really give a flying f___, the software was written in English
the internet, shipping, airtravel, native language is English.
A limited character set for transport protocols is probably a good thing, there are too many translation versions of 2byte codes that there would be less compatibility if each server were to try to interpret them, according to its installed version.If you invent something(or steal it convincingly enough), the microcode would probably be in that language of the inventor(theif)

Member Avatar for ingeva

The system dont really give a flying f___, the software was written in English

We have a word for people with that kind of attitude, but because I am not English I'm afraid I can't translate. And even if I could, I'm too polite! :)

May I remind you that there are far more people in the world who do NOT speak English, than there are who do?

I quote Jim Rohn, probably a little freely, who said something like this:
There isn't really an idiot on every corner. I just bump into him all the time.

the system was written by, and for, English speakers,
at the time of the development of the system there was the opportunity for other language speakers to develop part or all of competing, complimentary, or parallel 'system's.
Such language systems were not developed, yet there is the perceived requirement that the commercial property of those with a little thought and a lot of luck accomodate those with less
DARPAnet, the forerunner of the communication system is an entirely American military entity. ASCII leading initial is for American.
There always was/is the chance of development of Xscii where X is the language/country of choice, but as yet, X has not bothered to do so.
An individual can do whatever they want with their copy of the system.
However, if that individual requires their copy of the system to be able to communicate with, within, or across, the system, then they use the protocols and restrictions of the larger system
no different to any other activity, if an individual wants to drive on the other side of the road, they can do so, until the intervention of the operating restrictions of the road system, in the form of a bloody big truck coming the other way.
My small business web site supports 43 languages
Albanian, Arabic, Bulgarian, Catalan, Chinese, Croatian, Czech, Danish, Dutch, English, Estonian, Filipino, Finnish, French, Galician, German, Greek, Hebrew, Hindi, Hungarian, Indonesian, Italian, Japanese, Korean, Latvian, Lithuanian, Maltese, Norwegian, Persian, Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovenian, Spanish, Swedish, Tagalog, Thai, Turkish, Ukrainian, Vietnamese
I can ask neighbours to check my language, there are 12 houses in my street, the owners came from 16 countries.

I am not American.

Member Avatar for ingeva

the system was written by, and for, English speakers,
....
I am not American.

.... but you still think the system needs no update? :)

I'm sorry. Maybe I am an idiot here, because I don't understand what you mean.
I've been fighting this "system" since we were using punched tape, and I don't plan to stop the fight until we can all write our native characters on ANY computer if we want to.

I notice a colossal laziness all over the Net. You have to search for needles in haystacks to find web sites that conform to modern web standards, let alone a proper character set. The fact that the standards themselves are outdated is a problem of its own, but new standards need a long time to be accepted by the involved parties.

Let's be in front, and not far behind the back.
What is missing needs to be found.
What is in error needs to be corrected.
What is outdated needs to be updated.

There's a world outside of USA. If a system doesn't allow characters outside the limited ASCII set, it's the system that needs to be changed.

The problem is that this will take years to accomplish. Because governments do not agree with each other, it may never happen. You need a solution that works now.

Think about all of the various nodes, servers, and routers in different countries. They use different software, they were made by different manufacturers, and they are owned by different entities. Some of these entities are private companies, and others are owned by various governments.

The Internet is not one big uniform system. It is patched together by hundreds of organizations. It is amazing that it works as well as it does.

You have to realize that your website files may pass through ANY of these devices in its path from your server to the client's computer. In fact, different packets from the same file might pass through different devices.

You do not know how current the software is on any of these devices. Some countries can't import anything newer than 2001, because the US export ban applies to them. So you need to supply files that are compatible with all of these devices that your file might encounter on its path across the world to the user.

The one thing that is available among ALL of these devices is the US ASCII one byte code. You can't count on anything else working.

You do not have to change your file contents at all to get the file to work anywhere. If your client has the the required character set (and any required plugins) installed, he can see the contents. The contents of the file can be encoded in any character set the user has on his computer, and it will pass through the entire Internet.

What has to meet the limited standard that is available everywhere is only the NAME of the file.

How to make a filename that works everywhere:

1. Use only the following characters in the filename itself:

abcdefghijklmnopqrstuvwxyz_0123456789

2. Limit the filename to 16 characters, followed by a period (.), followed by a file extension the browsers know how to use. Note that some very old units require an 8 character filename and a 3-character extension. But those are quite rare.

3. No spaces in the file name. UNIX computers and DOS computers can not handle filenames with spaces in them.

.... but you still think the system needs no update? :)

I did not write anywhere that the system needs no update
I wrote that the 'system' was written by English speakers, for English speakers.
Until rewritten to accomodate other character sets, that can be a lifetimes work for any number of people, you have to use it the way it was written.
It works, just.
Midimagic explains well

Member Avatar for ingeva

The problem is that this will take years to accomplish. Because governments do not agree with each other, it may never happen. You need a solution that works now.

My solution works most of the time. I use only UTF-8, locally as well as on the Net. Maybe not perfect but it covers my needs.
Changes will never happen as long as we accept things as they are.

The Internet is not one big uniform system. It is patched together by hundreds of organizations. It is amazing that it works as well as it does.

True. No reason to set the clock back by years.

The one thing that is available among ALL of these devices is the US ASCII one byte code. You can't count on anything else working.

You can DEMAND it.

What has to meet the limited standard that is available everywhere is only the NAME of the file.

Who says it HAS TO be available anywhere?
If a website is designed for China, it has to work for the Chinese.
When I design a website in Norwegian, meant for Norwegians, I make sure that most users in my target area can read it without annoyance. That requires more than a 7-bit character set. Using UTF-8 solves the problem for all but those who still stick with Windows and IE5.

3. No spaces in the file name. UNIX computers and DOS computers can not handle filenames with spaces in them.

I haven't ever touched "native" Unix. With Linux there's no problem using spaces, and not many problems with Windows (although IE7&8 have some trouble with file downloads).
Of course, some characters must be avoided to avoid misinterpretation but I don't see that as a problem. They are not part of normal language.

And let's be real: What is DOS? :)

Who says it HAS TO be available anywhere?
If a website is designed for China, it has to work for the Chinese.
When I design a website in Norwegian, meant for Norwegians, I make sure that most users in my target area can read it without annoyance. That requires more than a 7-bit character set. Using UTF-8 solves the problem for all but those who still stick with Windows and IE5.

only 1 difficulty
Chinese, Norwegian, or Martians, do not control the path the information takes to get from the server to the pc, very seldom is the path direct, any of the devices in the path could fail handling unsupported codesets in filenames.
UTF-8, is an 8bit code, it uses two, three, four 8bit bytes to represent characters outside ASCII,
it works,
a Chinese file being sent to Norway needs to readable in NorseChinese(?sorry) but the name and routing information needs to be understandable to the server routing it through Gibraltar Estonia Kazakhstan and Mars, UTF-8 is a winner for filename compatibility the ascii character set represents itself, hi byte characters appear as ascii to dumb routers,
intermediates that cannot handle 2byte characters 'see' two single bytes.
multibyte encoding makes a file larger than it need be for a specific language.
my site is in twenty six languages, some hi order, but the filenames are in ascii,
other codesets do get lost on 'redneck' servers
utf-8/unicode/utf-16 implemented on all servers,
I'm not going to hold my breath till it happens
the makers are still English-centric

Member Avatar for ingeva

only 1 difficulty
Chinese, Norwegian, or Martians, do not control the path the information takes to get from the server to the pc,

Sorry, I fail to see how a filename naming convention has anything to do with routing information.

The contents of a HTML file with links don't matter at all until it ends up on the client's computer. There's always the option to use simple converts like for instance php htmlentities that servers and browsers will understand.

I receive spam mail with Arabic and Chinese characters quite often. Only problem with those is that they should never have been sent, at least not to me! :)

I have the impression that somebody work very hard to complicate simple things. :)

The contents of the file do not matter. They get passed along, no matter what.

It is the name of the file, in the url, that has to meet these standards.

Like others said, your web page may not stay within the borders of the country you want on its way from the server to the client. The Internet chooses the route that momentarily looks like will take the least time to get there. When the request packet for a web page goes from Shanghai to Beijing, it may pass through Finland, Netherlands, Nigeria, Namibia, Greece and Pakistan. On the way from Beijing to Shanghai, the beginning of the file may go through nodes in India, Saudi Arabia, Dubai, and Turkey. Meanwhile the second packet goes through Japan, Juneau Alaska, Chicago, and Russia. This is beyond your control. But if ANY of those routing computers along the way can't read the filename, it returns an error message and throws away the packet. Then the client does not get part of the page.

Any routing hardware and software must be able to handle and send on the packet. That means that the software in that unit must be able to read the packet header. The filename is in the url in the packet header.

There is not a simple little fix for this. It would take billions of dollars and man-hours to upgrade all of the routing computers in the world. And with various security and copyright laws preventing the latest software from getting to all countries, such a change might never take place.

There is also no single or central authority to order such a change. The owners of each of the routing computers pretty have their own control over the routing computers they own. Software and hardware upgrades are up to the owners. The World Wide Web Consortium (W3C) defines standards, but has no way to enforce them, except that pages that do not conform to them may fail to work.

You have two choices:

1. Use a web-compatible filename.

2. Accept the file downloading errors that result from not using a web-compatible filename. Of course, that might make people avoid your website.

Remember that only the part in the href= part of the link has to be a valid Internet filename. The part between the a tags can be in any language. So the clients don't have to see the filename of anything but the home page. And what you put in the title tags appears in the search engine. Only the computers need to see the actual filename.

Member Avatar for ingeva

The contents of the file do not matter. They get passed along, no matter what.

It is the name of the file, in the url, that has to meet these standards.

That's what I was talking about.

It is normally no problem to make a filename compatible with web standards (htmlentities), so that it's converted back to the original when it reaches the destination (client or browser).

I sometimes receive spam from other countries. like China or Arabic countries, with "funny" filenames. They have no problem getting through. All that's required is for the sender to convert the filename properly. This also goes for the rest of the query strings.
URLs with extended character sets are allowed now, but ANY character can't be allowed

With all your evident knowledge about the web, I'm surprised that you don't know this.

People who are still using Windows with Internet Explorer 7 or 8, can experience some problems because spaces are changed to underscore, and some characters are even discarded. IE6 didn't do this, but it did so many other funny things ... :)
After I found out how to obey the rules without compromising the character set, I haven't had any problem with it. Except, of course, for those who are still running Windows and IE7/8 -- and frankly, I don't worry about those.

It usually works. But you can not guarantee that it will work every time. When it doesn't work, the user can refresh the page, and hopefully the path will not go though an old routing computer the second time.

It will become a big problem if a selling transaction is disrupted by an old routing computer. With a missing packet, a business transaction may not look the same on both ends, to the point where the ordered merchandise is different or the money amounts are different.

This happened to me a few weeks ago. i was filling out a required government form online, and a packet was lost. This caused several of the questions and text boxes to be missing, and one text box to be paired with the wrong question. I filled it out as I saw it, and then had to go into the government office when they emailed me about the crazy answers.

Why didn't their page follow the ASCII filenames? They have an omega in their name.

Government department, nuff said, in government mediocre is up

I suggested you, please type your text in msword with unicode fonts in kannada language. Then place your text in HTML code in notepade. It is working every browsers. for more detail use this url : http://web.nickshanks.com/fonts/kannada/

Hi All,

Thanks for all your help. Sorry for late reply. I rectified this problem. I used Baraha software, by this i converted Kannada font to Unicode.

--
Best regards,
Vinith

Hi All,

Thanks for all your help. Sorry for late reply. I rectified this problem. I used Baraha software, by this i converted Kannada font to Unicode.

--
Best regards,
Vinith

Is the software baraha available for free ?

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.