f



C++0x standard code conversion facets and text in UTF-8 encoding

I have been trying to write some code that handles reading text from
text files. I would like to support UTF-8 encoding, with or without a
BOM, and also UCS-2, since text editors typically allow these options.
So I have used Notepad++ to save a few files with different encodings
and I have been trying to learn how to use the C++0x code-conversion
facets codecvt_utf8, codecvt_utf16, and codecvt_utf8_utf16 in order to
read the files. Now this has proved to be a bit difficult and, in the
end, I have been able to read the contents of the files into
std::wstring objects, but not into UTF-8-encoded std::strings, which
is what I would like.

So, my question is whether there is a way to use these standard code-
conversion facets to read the contents of a text file into UTF-8-
encoded std::strings.

Just to clarify what I've done so far, I have the following test,
which builds and runs correctly in Microsoft Visual C++ 10:

#include <string>

#include <locale>
#include <codecvt>

#include <iostream>
#include <fstream>

const std::wstring kUtf8NoBOMFile = L"../../resources/utf8-no-bom.txt";
const std::wstring kUtf8WithBOMFile = L"../../resources/utf8-with-bom.txt";
const std::wstring kUcs2BigEndianFile = L"../../resources/ucs2-big-endian.txt";
const std::wstring kUcs2LittleEndianFile = L"../../resources/ucs2-little-endian.txt";

void Log(const std::wstring& line)
{
	//TO DO: Dump lines to a UTF-8-encoded file.
}

std::locale GetAppropriateLocale(const std::wstring& fileName)
{
	std::locale loc;

	const std::codecvt_mode mode = std::consume_header;

	if(fileName == kUtf8NoBOMFile || fileName == kUtf8WithBOMFile)
	{
		loc = std::locale(loc, new std::codecvt_utf8<wchar_t, 0x10ffff, mode>);
	}
	else if(fileName == kUcs2BigEndianFile)
	{
		loc = std::locale(loc, new std::codecvt_utf16<wchar_t, 0x10ffff, mode>);
	}
	else if(fileName == kUcs2LittleEndianFile)
	{
		const std::codecvt_mode little_endian_mode = static_cast<const std::codecvt_mode>(mode|std::little_endian);
		loc = std::locale(loc, new std::codecvt_utf16<wchar_t, 0x10ffff, little_endian_mode>);
	}

	return loc;
}

void CheckFile(const std::wstring& fileName)
{
	std::wifstream wifstr(fileName);
	if(wifstr)
	{
		std::locale loc = GetAppropriateLocale(fileName);
		wifstr.imbue(loc);

		std::wstring nextLine;
		while(std::getline(wifstr, nextLine))
		{
			Log(nextLine);
		}
	}
}

int main()
{
	CheckFile(kUtf8NoBOMFile);
	CheckFile(kUtf8WithBOMFile);
	CheckFile(kUcs2BigEndianFile);
	CheckFile(kUcs2LittleEndianFile);
}

Now what I would like to do is to replace the line "std::wstring
nextLine;" with "std::string nextLine;" and change the signature of
the Log function so that it takes an std::string (which I will assume
is well-formed UTF-8) as its parameter. After doing that, I have tried
to modify the GetAppropriateLocale function above so that the codecvt
templates use char rather than wchar_t, and I have also tried to use
codecvt_utf8_utf16, but to no avail. The little information I have
found online seems to imply that these standard codecvt templates
require a wide-character type as its first Elem parameter, which I
find a bit odd, since I would expect that using an internal UTF-8
std::string representation for reading UCS-2 text files should be as
valid as using an internal UCS-2 representation for reading UTF-8
files.

Actually, I was expecting that the new C++0x standard would enhance
the support for UTF-8 using plain chars and std::strings, but instead
I've found that now there are even more wide character types now! I
suppose I could change my code to use an internal std::u32string
representation for text, but I would rather not go that way and stick
to plain old std::strings.

Any help will be appreciated. Thanks in advance.

�ngel Jos� Riesgo


-- 
      [ See http://www.gotw.ca/resources/clcm.htm for info about ]
      [ comp.lang.c++.moderated.    First time posters: Do this! ]

0
ISO
8/27/2010 3:06:51 PM
comp.lang.c++.moderated 10738 articles. 1 followers. allnor (8509) is leader. Post Follow

2 Replies
1015 Views

Similar Articles

[PageSpeed] 2

�ngel Jos� Riesgo wrote:
> I have been trying to write some code that handles reading text from
> text files. I would like to support UTF-8 encoding, with or without a
> BOM, and also UCS-2, since text editors typically allow these options.
> So I have used Notepad++ to save a few files with different encodings
> and I have been trying to learn how to use the C++0x code-conversion
> facets codecvt_utf8, codecvt_utf16, and codecvt_utf8_utf16 in order to
> read the files. Now this has proved to be a bit difficult and, in the
> end, I have been able to read the contents of the files into
> std::wstring objects, but not into UTF-8-encoded std::strings, which
> is what I would like.

You have internally a character and externally bytes that represent the
same. You can also turn off any transcoding and have the same sequence of
bytes internally as externally. Having internally a sequence of bytes and a
different sequence of bytes externally is simply not supported, so having
UTF-8 internally and UCS2 externally won't work.

> Actually, I was expecting that the new C++0x standard would enhance
> the support for UTF-8 using plain chars and std::strings, but instead
> I've found that now there are even more wide character types now! I
> suppose I could change my code to use an internal std::u32string
> representation for text, but I would rather not go that way and stick
> to plain old std::strings.

I'd try to use std::wstring internally, maybe some of the C++0x types if I
was using C++0x.

Otherwise, you can store anything in a std::string, even null bytes, so you
could even store UTF2 there. Things like operator[] on that string would
become rather meaningless or complicated to use, but you have the same
problem with UTF-8, too.

Uli

-- 
Sator Laser GmbH
Gesch�ftsf�hrer: Thorsten F�cking, Amtsgericht Hamburg HR B62 932


      [ See http://www.gotw.ca/resources/clcm.htm for info about ]
      [ comp.lang.c++.moderated.    First time posters: Do this! ]

0
Ulrich
8/30/2010 8:32:51 AM
On Aug 30, 4:32=A0pm, Ulrich Eckhardt <eckha...@satorlaser.com> wrote:
> =C1ngel Jos=E9 Riesgo wrote:
> > I have been trying to write some code that handles reading text from
> > text files. I would like to support UTF-8 encoding, with or without a
> > BOM, and also UCS-2, since text editors typically allow these options.
> > So I have used Notepad++ to save a few files with different encodings
> > and I have been trying to learn how to use the C++0x code-conversion
> > facets codecvt_utf8, codecvt_utf16, and codecvt_utf8_utf16 in order to
> > read the files. Now this has proved to be a bit difficult and, in the
> > end, I have been able to read the contents of the files into
> > std::wstring objects, but not into UTF-8-encoded std::strings, which
> > is what I would like.
>
> You have internally a character and externally bytes that represent the
> same. You can also turn off any transcoding and have the same sequence of
> bytes internally as externally. Having internally a sequence of bytes and=
 a
> different sequence of bytes externally is simply not supported, so having
> UTF-8 internally and UCS2 externally won't work.

Thanks for your reply. So, if I understand you correctly,
codecvt_utf8, codecvt_utf16, and codecvt_utf8_utf16 are only meant to
be used to transcode sequences of bytes into the "character" types
wchar_t, char16_t and char32_t? What I don't really understand is why
using std::wstrings when sizeof(wchar_t) == 2, as in Microsoft Visual C
++ (MSVC), or std::u16strings should be essentially different from
using std::strings. As far as I know, these wide strings don't take
into account UTF-16 surrogate pairs, so just like a std::string can be
regarded as "a sequence of bytes", a std::wstring in MSVC is simply a
sequence of 16-bit units, not a real sequence of characters (in the
sense of Unicode code points).

It looks as if transcoding between external sequences of bytes and
internal sequences of 16-bit units is supported, whereas transcoding
between external sequences of bytes and internal sequences of bytes is
not, which I find a bit inconsistent. But I suppose there must be some
rationale for this that I don't understand.

> > Actually, I was expecting that the new C++0x standard would enhance
> > the support for UTF-8 using plain chars and std::strings, but instead
> > I've found that now there are even more wide character types now! I
> > suppose I could change my code to use an internal std::u32string
> > representation for text, but I would rather not go that way and stick
> > to plain old std::strings.
>
> I'd try to use std::wstring internally, maybe some of the C++0x types if =
I
> was using C++0x.

I have used std::wstrings in the past. However, I now feel that if I
want my code to be as cross-platform as possible, things get simpler
if I use std::strings and I expect (or enforce) that such strings are
UTF-8-encoded. The advantage is that I can serialise any text without
worrying about the encoding. Because the size of wchar_t varies across
platforms, if I use wchar_t's internally I have to carry out far more
conversions (every time I serialise data) than if I stick to
std::strings. I still have to transcode into UTF-16 std::wstrings when
I have to interact with the Windows file system (to open a file
stream, for example) or with the Win32 API (to display a MessageBox,
for example), but I feel that having std::strings in the platform-
independent and serialisation code is a better compromise for me than
having std::wstrings all over the place and worrying about transcoding
every time I serialise or deserialise. Regarding deserialisation, I
also expect the text I read from files to be UTF-8-encoded in general.
The reason I've posted this question is that I have some configuration
files that are plain text files. Now a user can potentially edit such
text files by hand using, say, Notepad on Windows. And such manually
edited files can end up having different encodings (especially if the
text has characters outside the local code page, where Notepad
recommends you save them as either UTF-8 or UTF-16). That's why I am
trying to have a solution that allows me to open and read text files
in a way that can sort out the various BOMs and encoding options
(although I may end up using XML for all my configuration files and
read those files through an XML library, but that's irrelevant to my
question here).

> Otherwise, you can store anything in a std::string, even null bytes, so y=
ou
> could even store UTF2 there. Things like operator[] on that string would
> become rather meaningless or complicated to use, but you have the same
> problem with UTF-8, too.
>

You're right that if I use std::strings to store UTF-8 text I am
effectively using the standard string class as little more than a
glorified vector<char>. But I feel that such an approach is perfectly
valid for me. I can't think of any realistic scenario where I will
need to identify code point boundaries (I don't intend to write any
word wrap algorithm, for example), and if I want to know the size of a
string, I only need to know its size in bytes for serialisation/
allocation purposes. I can't think of any real-life situation where I
need to know how many Unicode code points make up a string (other than
implementing a simplistic, probably useless, "letter count" option in
a word processor). As for the issue of comparison and Unicode
normalisation, if I read my data from disk in a consistent way, I
can't think of any situation where I will get an NFC-normalised string
as the left-hand-side of a comparison against an NFD-normalised string
on the right-hand-side. I don't know if there may be any subtler point
I'm missing, but I think all the situations where code point
boundaries and Unicode normalisation are relevant are either contrived
artificial examples or irrelevant to my needs. Based on these
considerations, I tend to think that sticking to UTF-8 and
std::strings internally makes sense.

=C1ngel Jos=E9 Riesgo

-- 
      [ See http://www.gotw.ca/resources/clcm.htm for info about ]
      [ comp.lang.c++.moderated.    First time posters: Do this! ]

0
ISO
9/13/2010 4:44:44 PM
Reply:

Similar Artilces:

convert c# code to c++/c
hi people, Im stuck with a problem. I want to convert the following C# code to c++/c im trying to convert it line by line by myself. but still cant do away with some errors.. kindly help here is my code.. Imports System.Net Imports System.Net.Sockets Imports System.IO Public Class Form1 Private Client As New UdpClient(4370) 'Local machine uses UDP and port 4370 Private ZkDevice As New IPEndPoint(IPAddress.Parse("192.168.1.201"), 4370) 'Address of Device and port Private SessionID As UInt16 'ID of session. Each session have a unique ID ...

jython and C-c C-c
How do I get C-c C-c to work with jython? I have the jpython command set to jython, and I can start the interpreter with C-C ! and then use C-c C-c, but this is rather frustrating. If I try to use C-c C-c without first starting the interpreter in another window I get wrong type argument: sequencep, jpython Thanks, Dave Cook ...

Better C/C++ Than C/C++?
I am looking for a good systems programming language that can be used instead of C/C++. My qualifications for the language are: * mature compiler(s) that produce native-code binaries (for Windows) * open source - preferable, but not 100% necessary Thanks, Kevin "Kevin Albrecht" <kevin@albrecht.net> writes: > I am looking for a good systems programming language > that can be used instead of C/C++. My qualifications > for the language are: > > * mature compiler(s) that produce native-code > binaries (for Windows) Ocaml, D, cyclone, Eiffel, Beta > * open source - preferable, but not 100% necessary what's wrong with using C? Friedrich > what's wrong with using C? Too low level, no built-in garbage collection. -- Kevin "Kevin Albrecht" <kevin@albrecht.net> writes: >> what's wrong with using C? > > Too low level, Well the Smalltalk people say, have a small language and a big library. I assume C's library status beyond that of Smalltalk. > no built-in garbage collection. Use the Boehm Weisser GC. Friedrich "Kevin Albrecht" <kevin@albrecht.net> wrote in message news:<2TiYb.237892$rj7.1641209@twister.tampabay.rr.com>... > I am looking for a good systems programming language > that can be used instead of C/C++. My qualifications > for the language are: > > * mature compiler(s) that produce native-code > binaries (for Windows) > ...

C++ implementation for C API ---- converting legacy C code to C++
[My apologies if this LONG posting is off-topic] In this day and age, you never say no to any work that is thrown at you ---- so when I was offered this short-term contract to convert legacy C code to C++, I did not say no. Personally I believed that it was a somewhat futile exercise since one of the main requirements was for the existing API (a functional interface written in C) to remain the same. I would have much rathered that the mandate be ab-initio, but that was not the case here. My client had a bad experience with OO, and they wanted to re-tread this path very very carefully. The...

C++ code with C-style interface for a library to be used in C++ and C?
Hi! I have a question about building and then using libraries containing C++ code. Let's say I have some C++ code and a .cpp file with 1 function that uses some other C++ code / classes etc... Also, any possible exception is handled within the function itself. In code: MyModule.h ---------- #ifndef MYMODULE_H #define MYMODULE_H extern int Test(float inParam1,float inParam2,float* outResult); #endif // #ifndef MYMODULE_H MyModule.cpp ------------ #include "MyModule.h" #include "MyClasses.h" // contains MyClassA and MyClassB int Test(float inParam1,float inParam2,...

Is C# really "better" than C++ or C++0x? How about objective-C?
Microsoft thinks C++ is obsolete and C# is "the future". Apple thinks the same for Objective-C. IMO this is all nonsense. What do you think about this? How "better" really they are? And what about C++0x? On Sun, 17 Apr 2011 16:58:37 +0200, "A" <a@a.a> wrote: >Microsoft thinks C++ is obsolete and C# is "the future". Apple thinks the >same for Objective-C. > >IMO this is all nonsense. I agree. > >What do you think about this? How "better" really they are? And what about >C++0x? > Companies like Microsoft ...

On the organisation of the C++ standards committee for C++ 0x
Hello, Could someone clarify the structure, with respect to projects, of the C++ standards committee. My understanding is that there are 3 "areas": - C++ core language extension proposals - C++ library extension proposals - C++ performance issues Further, that TR1 slices through the first two projects and that the bulk of the work for TR2 deals with library extensions. --- [ comp.std.c++ is moderated. To submit articles, try just posting with ] [ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ] [ --- Please see the FAQ before po...

C/C++ source code for a Text editor
Can any one give me pointer to links containing source code to *very very simple* MSDOS based text editor thanks ranga.narasimhan@gmail.com wrote: > Can any one give me pointer to links containing source code to *very > very simple* MSDOS based text editor > > thanks > http://garbo.uwasa.fi/pc/editor.html Google is your friend. ranga.narasimhan@gmail.com wrote: "Can any one give me pointer to links containing source code to *very very simple* MSDOS based text editor" Sorry, NO. BUT: A simple working editor: Free-DOS EDIT: http...

Conversion of Stem function in C,C++ code
Dear Members I am using matlab's built in "stem" function in one of my simulations. I needto comvert it in to c or c++. rest everything is translated ok but for stem function i get he error that "graph2d" is an unidentified identifiere. When you look at the stem function it referes to something like h3=graph2d.constantline(0); when u locate the constantline.m it further uses findpackage(which i have no clue about) and some other references. The simple question is how can i genrate the c or c++ code for the matlab built in stem function. Is it possible or its one of...

C++ to C conversion
hi all, does anyone have an awk/sed/perl script to assist one with manual rewriting from C++ to C? (Class --> struct, method --> function, << >> to printf, etc...) I have to rewrite a lot of legacy C++ code into a C-dialect of Plan 9 OS [sweetest Os around ;-) ] http://plan9.bell-labs.com/plan9/ Thanks, regards, ++pac. tyapca7@gmail.com wrote: > hi all, > does anyone have an awk/sed/perl script to assist one with manual > rewriting from C++ to C? I never thought anyone would want to do it this way (converting C to C++ is the usual case). > (Class --> st...

How to do this in C++ (C code)
in C, I have this : #define doStuff(var) func(var##_1, var##_2) void func(int v, int v2) { printf("%d, %d\n", v, v2); } int main() { int myvar_1 = 1; int myvar_2 = 2; doStuff(myvar); // ... } I want to do a class to encapsulate the func, but how can I do the same thing with a class ? I would like to do something like this : int myvar_1 = 1; int myvar_2 = 2; CMyClass c; c.doStuff(myvar); How can I do that ? Thanks for your help, S. timor.super@gmail.com wrote: > in C, I have this : > > #define doStuff(var) func(var##_1, var##_2) > > void func(int v, int...

C++ to C# conversion
I've got following struct in C++ typedef struct TestStruct { const char * m_device; unsigned m_value; } What size is m_device type; What does const mean? What size is m_value type? -- Regards, Ma�ko On Feb 4, 3:24=A0pm, "GrzybSon" <mrych...@kenbit.pl> wrote: > I've got following struct in C++ > > typedef struct TestStruct > { > =A0 =A0 const char * m_device; > =A0 =A0 unsigned m_value; > > } > > What size is m_device type; It is the size of a pointer to char (sizeof(char*)). Probably it wil...

texting c and c++
I have had a scheme that I have used for 10+ years to test c code. I'm now moving into c++ and would like to see if I can upgrade it. I have the following in the top of my test file: int nr = 0; int nf = 0; int dr = 0; /* dont run this */ int ir = 0; char t_buf[256]; FILE *t_fp = NULL; int ncells = 0; #define exp2fail(x) if(x) { \ nf++; \ fprintf(stderr," not ok %d : file %s , line# %d\n",nr,__FILE__,__LINE__); \ exit(1); \ ...

Any C code are valid C++ code?
Since C is a subset of C++, so any C code or C libraries (printf(), scanf(), etc...) are valid C++ code. Is that correct? so even though the whole program is written in C, but with .cpp extension, we still consider as C++ program? Please advise. Thanks jrefactors@hotmail.com wrote: > Since C is a subset of C++ [...] Wrong premise. Wrong conclusion. The answer to your subj is "no". jrefactors@hotmail.com wrote: > Since C is a subset of C++ C is not a subset of C++. C++ has some incompatible changes from C. However, they are compatible enough that a lot of code runs in ...

c------->c++ and c++------>c
We can write c program in turbo c++ editor.But reverse is not true why? i.e The program will not compile if u write c++ program in turbo c editor vim wrote: > We can write c program in turbo c++ editor.But reverse is not true why? > i.e The program will not compile if u write c++ program in turbo c > editor This isn't about C; this is about some editor. Why the fircone should /we/ know? Ask in a relevant group. [And /why/, in an editor specialised to some specific programming languages, would you expect it to compile a /different/ one? Would you expect turbo perl to compi...

C/C++ in MATALB or MATLAB in C/C++?
Hi I've been asking on the net how to use MEX properly so that I can use C/C++ in MATLAB, but information is not forthcoming. There seems to be a lot on using MATLAB in C/C++ but not the other way around. I understand Mathworks is trying very hard to sell the Matlab Compiler, but even so, why is it SO hard to get information about MEX? Or is it that I've missed something very fundamental, meaning that I'm struggling over something that is actually quite easy? Any thoughts and info would be great. Thanks BullDog BullDog wrote: > Hi > > I've been asking on the net ...

slime C-c C-c annoyance
Does anyone have a good workaround for this problem other than: just be careful! When I've compiled a large package and slime has given me a *slime-compilation* buffer, I like to work through this buffer issue by issue, fixing the errors, warnings, etc. But If I ever press C-c C-c in the editor window while fixing an error, slime destroys the *(slime-compilation* buffer with the compilation output of C-c C-c. Jim Newton <jimka.issy@gmail.com> writes: > Does anyone have a good workaround for this problem other than: just be careful! > > When I've compiled a ...

C/C++ in matlab and matlab in C/C++ ?
Is it possible to read C/C++ code in matlab and the other way around too? Hi, as long as C or C++ are written in text files you can edit them in the matlab editor. To see the special character of C or C++ coding language, in the editor go to menus: file>preferences>Edito/Debugger>language and on popup "Language" select "C/C++". This does not allow you to run the C/C++ code, just to view it i nicer way... regards, chris saneman <asdfsdf@asd.com> wrote in message <frl846 $f8i$2@news.net.uni-c.dk>... > Is it possible to read C/C...

C as a Subset of C++ (or C++ as a superset of C)
Isn't it a lame use of human time and effort to maintain completely separate C and C++ standards? As in the words of Betty White about Facebook: "It seems like an incredible waste of time". Why don't the two standards groups get together and agree on a common specification for the ground which both standards cover? There would still be two separate standards, but they'd both be exactly the same for the common ground. The common ground document could be referred to by both standards instead of being maintained by both groups in individual efforts resulting in...

Automating C/C++ Coding Standards for any Operating System
Abraxas Software Understanding YOUR GOALS & Using CodeCheck Implementing Corporate Source Code Guidelines C/C++ Source Code GuideLine Automation The goals of CodeCheck are: 1 To create a standard which will enable you to provide the customer with a quality product in a timely manner. 2 To promote standardization of software development among programmers. 3 To act as a learning tool for new programmers. 4 To act as a reference tool for all levels of programmers. 5 To promote a team approach among programmers. 6 To help programmers create readable, re-usable and maintainable software. 7 T...

c,c++,obj-c
Of the 3 languages titled in this post is c++ older than obj-c ? Would someone experienced in C be able to dive right into C++ rather than obj-c ? Java is out for me now except applet programming I think I'm going to go with just C and C++. Bill Bill Cunningham wrote: > Of the 3 languages titled in this post is c++ older than obj-c ? Why does that matter? Do you want to use an old language? Try Fortran or LISP. > Would > someone experienced in C be able to dive right into C++ rather than > obj-c ? Not quite dive in, at least not into the OO parts of C++. ...

C,, C++, Java, C#
I come from C,C++,Java and C#. What can SmallTalk do for me and for what cost? Regarding the Squeak thing, it's interesting though confusing. Is it an IDE? Why are the menus so wacky? "DM McGowan II" <nospam@nospam.net> wrote in message news:PLednX2vnLd11IncRVn-rA@comcast.com... > I come from C,C++,Java and C#. What can SmallTalk do for me ...? Ask not what Smalltalk can do for, but what can you do with Smalltalk. :-) In very few words, it significantly reduces time to market, while enhancig the development experience. This is because: 1. It...

C, C++ and C# Forums
Throne Software has opened up C, C++ and C# Forums at: http://www.thronesoftware.com/forum/ Join us! In article <1120963701.862698.160260@g14g2000cwa.googlegroups.com>, Throne Software <mail@thronesoftware.com> writes >Throne Software has opened up C, C++ and C# Forums at: > >http://www.thronesoftware.com/forum/ > >Join us! Why? The beauty of news groups is that they come to me I don't have to go to them. Also all the people who have been around a while know what they are doing and are here. I noticed that there are some C and C++ Forums on another system...

C, C++ and C# Forums
Throne Software has opened up C, C++ and C# Forums at: http://www.thronesoftware.com/forum/ Join us! ...

Web resources about - C++0x standard code conversion facets and text in UTF-8 encoding - comp.lang.c++.moderated

Conversion (law) - Wikipedia, the free encyclopedia
Its criminal counterpart is theft . Examples are seen in cases where trees are cut down and the lumber hauled from the land by someone not having ...

Nintendo alters ‘gay conversion’ scene in new video scene
NINTENDO has altered a controversial “gay conversion” scene from a video game that’s already been released in Japan.

Zero tolerance: Andrews to crack down on gay 'conversion' therapy
The state government will attempt to crack down on so-called gay conversion therapy through a new public watchdog with the power to investigate ...

Emphasis Shifts to Conversions Over Clicks for Facebook Advertisers in Q4 2015
... with the lowest eCPC among all ad types and high CTRs. The opposite was true for link ads , however, due to advertisers’ emphasis on conversions ...

Ex-gay conversion therapists flee US, find home in Israel
Ex-gay conversion “therapy” is in retreat throughout much of the United States. Not only is momentum building to ban it on a state -by- state ...

First Solar Achieves New Conversion Efficiency World Record For CdTe Solar PV Cells
Originally published on Sustainnovate. By Henry Lindon A new conversion efficiency world record for cadmium-telluride solar photovoltaic cells ...

Andrew Cuomo announces regulations to prevent gay 'conversion therapy' - CNNPolitics.com
New York Gov. Andrew Cuomo on Saturday announced regulations to prevent "conversion therapy," a practice aimed at changing an individual's sexual ...

What Is the Difference Between the Conversion and Recharacterization of an IRA?
... there are certain rules and tax implications you need to know about. Photo: www.TaxCredits.net . When it comes to IRAs, the terms "conversion" ...

Pay At The Pump Mobile App Could Eliminate Need For Costly EMV Conversions At Gas Stations
Gas stations and convenience stores have until Oct. 1, 2017 to replace mag swipe card readers with EMV or face the liability for fraud. A Finnish ...

Uttar Pradesh: Bajrang Dal activists ‘tonsure, parade man for conversion bid’
Police have registered two FIRs in connection with the incident, and arrested five Bajrang Dal workers and the barber who tonsured the man’s ...

Resources last updated: 2/23/2016 11:04:14 PM