ことは~が is a set expression which indicates that ‘while something is (A), also (B)’. In English, this is usually interpreted as ‘(A) is true, but (B), or ‘although (A), (B)’. When this grammar structure is used, the same word will be repeated before both ことは and が (or けど). Due to this, the literal translation is similar to ‘that which is (A) is (A), but (B)’. This simply emphasizes that the speaker recognizes (A) as being true, but would like to express information that is contrary to that.
ことは~が can appear with any type of word, but だ will need to be used following nouns before が, while な, である, だった or ではない tends to follow な-Adjectives.
-
漢字(かんじ)は読(よ)めることは読(よ)めるが、簡単(かんたん)な漢字(かんじ)しか読(よ)めないです。
It is true that I can read kanji, but I can only read easy ones.
新(あたら)しい家(いえ)は広(ひろ)いことは広(ひろ)いけど、家具(かぐ)が多(おお)いから狭(せま)く見(み)える。
It is true that my new house is spacious, but because there is a lot of furniture, it looks small.
このスマホは便利(べんり)であることは便利(べんり)であるけど、本体(ほんたい)がデカすぎて片手(かたて)では操作(そうさ)できない。
It is true that this smartphone is useful, but because it is big, I can't use it with just one hand.
ここは道路(どうろ)なことは道路(どうろ)だけど、狭(せま)すぎて車(くるま)が通(とお)れない。
It is true that this road is a road, but it is too narrow that a car can’t pass through.
In most cases,
ことは~が expresses that the base fact of (A) is true, but the speaker has some sort of opinion or impression that is in opposition to that fact.